/* ==========================================================================
   1. GLOBAL TWEAKS & HELIX OVERRIDES
   ========================================================================== */
.card { --bs-card-border-width: 0px !important; }
.card-body { background-color: transparent !important; }
span.badge.bg-danger.featured-article-badge { display: none !important; }
.itemBackToTop { display:none }

/* ==========================================================================
   2. UNIVERSAL ARTICLE LOGIC (Transparent + 10px Text Shift)
   ========================================================================== */
[class*="style-"] {
    background-color: transparent !important; 
    color: #222222 !important;               
    padding: 0px 0px 20px 0px !important; 
    margin-bottom: 30px !important;
    border-radius: 0px !important;
    box-shadow: none !important;              
    display: block;
}

/* Force dark text for readability */
[class*="style-"] p, 
[class*="style-"] li, 
[class*="style-"] span, 
[class*="style-"] div:not(.contact-header):not(.contact-btn) {
    color: #222222 !important;
    line-height: 1.7;
    padding-left: 10px !important; 
}

/* Universal Link Styling (Maritime Blue) */
[class*="style-"] a:not(.btn-shipping):not(.cta-button) {
    color: #003366 !important;
    font-weight: bold;
    text-decoration: underline;
}

/* Header Logic: Remove gap and connect to left border */
[class*="style-"] h1 {
    display: block;
    padding: 20px 0px 10px 10px !important; 
    margin: 0 0 30px 0 !important;          
    font-weight: 900;
    text-transform: uppercase;
    background-color: transparent !important;
    color: #002244 !important;                
    border-bottom: 2px solid #002244;         
    box-shadow: none !important;
}

/* ==========================================================================
   3. THE 6 VARIANTS (ACCENTS & 2PX BORDERS)
   ========================================================================== */
.style-main { border-left: 2px solid #002244 !important; }
.style-main h1 { color: #002244 !important; border-bottom-color: #002244; }
.style-main h2, .style-main h3, .style-main h4 { color: #002244 !important; padding-left: 10px; }

.style-sea { border-left: 2px solid #003366 !important; }
.style-sea h1 { color: #003366 !important; border-bottom-color: #003366; }
.style-sea h2, .style-sea h3, .style-sea h4 { color: #003366 !important; padding-left: 10px; }

.style-air { border-left: 2px solid #005f66 !important; }
.style-air h1 { color: #005f66 !important; border-bottom-color: #005f66; }
.style-air h2, .style-air h3, .style-air h4 { color: #005f66 !important; padding-left: 10px; }

.style-projects { border-left: 2px solid #1a3a4a !important; }
.style-projects h1 { color: #1a3a4a !important; border-bottom-color: #1a3a4a; }
.style-projects h2, .style-projects h3, .style-projects h4 { color: #1a3a4a !important; padding-left: 10px; }

.style-blogs { border-left: 2px solid #333333 !important; }
.style-blogs h1 { color: #222222 !important; border-bottom-color: #333333; }
.style-blogs h2, .style-blogs h3, .style-blogs h4 { color: #222222 !important; padding-left: 10px; }

.style-tech { border-left: 2px solid #4a4a4a !important; }
.style-tech h1 { color: #333333 !important; border-bottom-color: #4a4a4a; }
.style-tech h2, .style-tech h3, .style-tech h4 { color: #4a4a4a !important; padding-left: 10px; }

/* ==========================================================================
   4. TABLES & COMPONENTS
   ========================================================================== */
[class*="style-"] table {
    width: calc(100% - 10px) !important;
    margin-left: 10px !important;
    border: 1px solid #cccccc !important;
    background-color: #ffffff !important;
}
[class*="style-"] table thead tr { background-color: #222222 !important; }
[class*="style-"] table th { color: #ffffff !important; text-transform: uppercase; padding: 12px !important; }
[class*="style-"] table td { color: #222222 !important; border: 1px solid #eeeeee !important; padding: 12px !important; }

/* ==========================================================================
   5. STICKY NAV & MOBILE
   ========================================================================== */
.leftmenu, .bluefirst {
    position: sticky !important;
    top: 100px !important;
    z-index: 1000;
    padding: 12px !important;
}

@media (max-width: 768px) {
    [class*="style-"] { border-left: 2px solid #333333 !important; }
}

/* ==========================================================================
   6. INDUSTRIAL SLAB (DARK MODULE)
   ========================================================================== */
.industrial-module-slab-dark {
    background-color: #003366 !important;
    padding: 40px !important;
    border-left: 8px solid #ff8c00 !important;
    border-radius: 4px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.3);
    margin-bottom: 30px;
}

.industrial-module-slab-dark h2 {
    background-color: #ff8c00 !important;
    color: #003366 !important;
    display: inline-block;
    padding: 12px 30px;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    margin-bottom: 25px !important;
    font-size: 2.2rem !important;
}

/* ==========================================================================
   7. SIDEBAR MODULES (RESTORED TO ORIGINAL BLUE & ORANGE)
   ========================================================================== */
/* --- SIDE-MENU-BLUE (The Restored Original) --- */
.side-menu-blue .sp-module-title {
    background-color: #003366 !important; 
    color: #ffffff !important;           
    padding: 12px 15px !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    font-size: 1.3rem !important;
    border-left: 6px solid #ff8c00 !important; /* Industrial Orange Accent Restored */
    display: block;
    margin-bottom: 0 !important;
}

.side-menu-blue ul.menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff;
}

.side-menu-blue ul.menu li a {
    display: block;
    padding: 15px 15px;
    color: #003366 !important;
    font-weight: 600;
    line-height: 26px !important;
    transition: background 0.2s;
    border-bottom: 1px solid #f0f0f0;
}

.side-menu-blue ul.menu li a:hover {
    background-color: #f8f8f8;
    color: #ff8c00 !important;
    box-shadow: inset 4px 0px 0px #ff8c00; 
}
/* Container and Grid */
.countries-container {
    padding: 20px 0;
}

.country-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

/* The Country Card */
.country-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-bottom: 4px solid #003366; /* Maritime Blue Base */
    padding: 15px;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.country-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-bottom-color: #ff8c00; /* Industrial Orange Hover */
}

/* Flag Image */
.flag-wrapper a {
    display: block;
    width: 100%;
    height: 100%;
}

.flag-wrapper a img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Keeps the flags proportional without distorting */
    display: block;
}

/* Country Title */
.country-card h3 {
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    color: #222 !important;
    text-transform: uppercase;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Service Button Links */
.service-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
}

.service-links a {
    background: #f8f8f8;
    color: #003366 !important;
    font-size: 0.68rem;
    font-weight: 700;
    text-decoration: none !important;
    padding: 6px 0;
    border: 1px solid #eee;
    text-transform: uppercase;
}

.service-links a:hover {
    background: #003366;
    color: #ffffff !important;
}

@media (max-width: 500px) {
    .country-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}



/* New */

.carrier-tabs {
  margin: 30px 0;
  font-family: Arial, sans-serif;
}

.carrier-tabs input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.carrier-tab-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.carrier-tab-labels label {
  display: inline-block;
  padding: 10px 14px;
  background: #044f9e;
  color: #ffffff;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
  line-height: 1.2;
}

.carrier-tab-labels label:hover,
.carrier-tab-labels label:focus {
  background: #033f7e;
  color: #ffffff;
}

#tab-msc:checked ~ .carrier-tab-labels label[for="tab-msc"],
#tab-zim:checked ~ .carrier-tab-labels label[for="tab-zim"],
#tab-oocl:checked ~ .carrier-tab-labels label[for="tab-oocl"],
#tab-maersk:checked ~ .carrier-tab-labels label[for="tab-maersk"],
#tab-one-line:checked ~ .carrier-tab-labels label[for="tab-one-line"],
#tab-hapag-lloyd:checked ~ .carrier-tab-labels label[for="tab-hapag-lloyd"],
#tab-cma-cgm:checked ~ .carrier-tab-labels label[for="tab-cma-cgm"],
#tab-cosco:checked ~ .carrier-tab-labels label[for="tab-cosco"],
#tab-yang-ming:checked ~ .carrier-tab-labels label[for="tab-yang-ming"],
#tab-hyundai:checked ~ .carrier-tab-labels label[for="tab-hyundai"] {
  background: #022f60;
}

.carrier-panel {
  display: none;
}

#tab-msc:checked ~ .carrier-panels #panel-msc,
#tab-zim:checked ~ .carrier-panels #panel-zim,
#tab-oocl:checked ~ .carrier-panels #panel-oocl,
#tab-maersk:checked ~ .carrier-panels #panel-maersk,
#tab-one-line:checked ~ .carrier-panels #panel-one-line,
#tab-hapag-lloyd:checked ~ .carrier-panels #panel-hapag-lloyd,
#tab-cma-cgm:checked ~ .carrier-panels #panel-cma-cgm,
#tab-cosco:checked ~ .carrier-panels #panel-cosco,
#tab-yang-ming:checked ~ .carrier-panels #panel-yang-ming,
#tab-hyundai:checked ~ .carrier-panels #panel-hyundai {
  display: block;
}

.carrier-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.carrier-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.carrier-table th,
.carrier-table td {
  padding: 10px 12px;
  border: 1px solid #d8d8d8;
  text-align: left;
  vertical-align: top;
}

.carrier-table th {
  background: #044f9e;
  color: #ffffff;
}

.carrier-table tbody tr:nth-child(even) {
  background: #f5f8fb;
}

@media (max-width: 600px) {
  .carrier-tab-labels {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .carrier-tab-labels label {
    text-align: center;
  }

  .carrier-table {
    min-width: 720px;
  }
}