/* ============================================================
   BANGLADESH PORTS - MASTER STYLESHEET (OPTIMIZED)
   https://ethicsbd.net/assets/css/bangladesh-ports-page.css
   ============================================================ */

/* ===== CSS VARIABLES ===== */
:root{--primary:#0B3B3F;--primary-light:#1A5A5F;--primary-dark:#061F22;--secondary:#00A8A8;--secondary-dark:#008080;--accent:#FF6B00;--accent-light:#FF8C38;--gold:#D4AF37;--gold-light:#E5C56A;--gold-primary:#D4AF37;--white:#FFFFFF;--off-white:#E8EDED;--gray-light:#e0e0e0;--text-dark:#1A2E2F;--text-light:#E8F0F0;--bg-hero:#061F22;--bg-section-1:#0B3B3F;--bg-section-2:#0F4A4F;--bg-section-3:#0B3B3F;--bg-section-4:#0F4A4F;--bg-section-5:#0B3B3F;--bg-section-6:#0F4A4F;--bg-section-7:#1A3A4F;--bg-section-8:#0B3B3F;--bg-section-9:#0F4A4F;--bg-section-10:#1A3A4F;--bg-faq:#0A2A2E;--bg-cta:#061F22;--card-light:rgba(255,255,255,0.08);--card-medium:rgba(255,255,255,0.12);--card-dark:rgba(0,0,0,0.25);--card-gold:rgba(212,175,55,0.15)}

/* ===== RESET & BASE ===== */
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.7;color:var(--text-light);background:var(--bg-hero);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 24px}@media(max-width:768px){.container{padding:0 16px}}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4,h5{font-weight:700;letter-spacing:-0.02em}h1{font-size:clamp(2.8rem,6vw,4.0rem);line-height:1.1;margin-bottom:1rem}h2{font-size:clamp(2rem,3.5vw,2.5rem);margin-bottom:1.2rem}h3{font-size:clamp(1.3rem,2vw,1.6rem);margin-bottom:0.8rem}h4{font-size:clamp(1.1rem,1.5vw,1.3rem);margin-bottom:0.5rem}h5{font-size:clamp(0.95rem,1.2vw,1.1rem);margin-bottom:0.3rem;color:var(--gold-light)}p{margin-bottom:1rem;font-size:1.05rem;line-height:1.7;color:#d1d5db}.highlight{color:var(--gold)}.text-center{text-align:center}.text-gold{color:var(--gold)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 34px;font-size:1rem;font-weight:600;border-radius:50px;text-decoration:none;transition:all .25s ease;cursor:pointer;border:none;will-change:transform}.btn-primary{background:var(--gold);color:var(--primary-dark);box-shadow:0 4px 15px rgba(212,175,55,0.25)}.btn-primary:hover{background:var(--gold-light);transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.35)}.btn-outline{background:transparent;border:2px solid var(--gold);color:var(--gold)}.btn-outline:hover{background:rgba(212,175,55,0.12);transform:translateY(-3px)}.btn-whatsapp{background:#25D366;color:#fff}.btn-whatsapp:hover{background:#1DA851;transform:translateY(-3px);box-shadow:0 8px 25px rgba(37,211,102,0.3)}

/* ===== HERO ===== */
.hero{min-height:80vh;position:relative;display:flex;align-items:center;color:var(--white);overflow:hidden;background:var(--bg-hero)}.hero-background{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:0.6;z-index:1}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(6,31,34,0.6),rgba(6,31,34,0.92));z-index:2}.hero-content{position:relative;z-index:3;max-width:1400px;margin:0 auto;padding:40px 24px;text-align:center}.hero h1{color:var(--white);text-shadow:0 4px 30px rgba(0,0,0,0.5)}.hero-description{font-size:clamp(1.1rem,1.8vw,1.4rem);max-width:1100px;margin:0 auto 2rem;color:rgba(255,255,255,0.85)}.hero-stats{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin:24px 0 32px}.hero-stat-number{display:block;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:900;color:var(--gold);text-shadow:0 0 30px rgba(212,175,55,0.3)}.hero-stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,0.7)}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ===== BREADCRUMB ===== */
.breadcrumb{background:rgba(255,255,255,0.95);padding:18px 30px;box-shadow:0 4px 15px rgba(0,0,0,0.08);position:relative;z-index:10}.breadcrumb-container{max-width:1280px;margin:0 auto;padding-left:2rem}.breadcrumb-list{list-style:none;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.breadcrumb-list li:not(:last-child)::after{content:"→";margin-left:12px;color:#6b7280;font-weight:600}.breadcrumb-list a{color:#0f3057;font-weight:700;text-decoration:none;transition:.3s}.breadcrumb-list a:hover{color:var(--gold-primary)}.breadcrumb-list li:last-child{color:#0e7490;font-weight:700}@media(max-width:768px){.breadcrumb-container{padding:0 16px}}

/* ===== SECTION BACKGROUNDS ===== */
.section{padding:80px 0}.section-bg-1{background:var(--bg-section-1)}.section-bg-2{background:var(--bg-section-2)}.section-bg-3{background:var(--bg-section-3)}.section-bg-4{background:var(--bg-section-4)}.section-bg-5{background:var(--bg-section-5)}.section-bg-6{background:var(--bg-section-6)}.section-bg-7{background:var(--bg-section-7)}.section-bg-8{background:var(--bg-section-8)}.section-bg-9{background:var(--bg-section-9)}.section-bg-10{background:var(--bg-section-10)}.section-bg-faq{background:var(--bg-faq)}.section-bg-cta{background:var(--bg-cta)}

/* ===== SECTION HEADER ===== */
.section-header{text-align:center;margin-bottom:48px}.section-subtitle{color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-size:.75rem;font-weight:600;display:inline-block;margin-bottom:12px}.title-underline{width:80px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));margin:16px auto 0;border-radius:3px}

/* ===== CARDS ===== */
.card-glass-light{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:28px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;height:100%;will-change:transform}.card-glass-light:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 12px 30px rgba(0,0,0,0.25);background:rgba(255,255,255,0.08)}.card-gold-accent{background:rgba(212,175,55,0.05);border:1px solid rgba(212,175,55,0.15);border-radius:16px;padding:28px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;height:100%;will-change:transform}.card-gold-accent:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 12px 30px rgba(212,175,55,0.12);background:rgba(212,175,55,0.08)}.contact-card{background:rgba(255,255,255,0.04);border:1px solid rgba(212,175,55,0.12);border-radius:16px;padding:24px 28px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;height:100%;display:flex;flex-direction:column;will-change:transform}.contact-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 12px 30px rgba(212,175,55,0.12);background:rgba(212,175,55,0.06)}.contact-card .company-name{color:var(--gold);font-size:1.2rem;font-weight:700;margin-bottom:4px}.contact-card .company-desc{color:#b0c4c4;font-size:.95rem;margin-bottom:12px}.contact-card .contact-detail{color:#d1d5db;font-size:.95rem;margin-bottom:4px;display:flex;align-items:center;gap:10px}.contact-card .contact-detail i{color:var(--gold);width:20px;text-align:center;flex-shrink:0}.contact-card .contact-detail a{color:var(--gold-light);text-decoration:none;transition:color .3s}.contact-card .contact-detail a:hover{color:var(--gold);text-decoration:underline}.contact-card .contact-divider{height:1px;background:rgba(212,175,55,0.12);margin:10px 0 14px 0}.large-card{background:rgba(255,255,255,0.05);border:1px solid rgba(212,175,55,0.15);border-radius:20px;padding:40px;margin:0 auto;max-width:1100px;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;will-change:transform}.large-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 16px 40px rgba(0,0,0,0.2)}.large-card p{color:#d1d5db}.card-icon{font-size:2.8rem;color:var(--gold);margin-bottom:16px;display:block}

/* ===== GRIDS ===== */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}@media(max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.large-card{padding:24px}.section{padding:50px 0}}

/* ===== SHIP CHANDLERS ===== */
#ship-supplies .section-subtitle{color:var(--gold)}#ship-supplies .section-description{text-align:center;max-width:900px;margin:0 auto 3rem;font-size:1.1rem;opacity:.85;color:#b0c4c4}

/* ===== FAQ ===== */
.faq-section{padding:80px 0;background:var(--bg-faq)}.faq-section h2{text-align:center;color:var(--white);margin-bottom:3rem}.faq-section h2 .highlight{color:var(--gold)}.faq-container{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.faq-item{background:rgba(255,255,255,0.03);border:1px solid rgba(212,175,55,0.1);border-radius:14px;overflow:hidden;transition:border-color .3s ease}.faq-item:hover{border-color:rgba(212,175,55,0.25)}.faq-question{width:100%;background:0 0;border:none;color:var(--white);font-size:1.1rem;font-weight:600;text-align:left;padding:18px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .25s;font-family:'Inter',sans-serif}.faq-question:hover{background:rgba(212,175,55,0.04)}.faq-question .arrow{transition:transform .3s ease;color:var(--gold);font-size:1.2rem;flex-shrink:0}.faq-question.active .arrow{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 24px;color:#b0c4c4}.faq-answer.open{max-height:300px;padding:0 24px 20px}.faq-answer p{color:#b0c4c4;margin:0;font-size:1rem}

/* ===== CTA ===== */
.cta-section{padding:60px 0;background:var(--bg-cta);text-align:center;border-top:1px solid rgba(212,175,55,0.08)}.cta-container{max-width:1400px;margin:0 auto;padding:40px;background:rgba(255,255,255,0.03);border:1px solid rgba(212,175,55,0.12);border-radius:20px;transition:border-color .3s ease}.cta-container:hover{border-color:rgba(212,175,55,0.25)}.cta-title{font-size:clamp(2rem,3vw,2.6rem);color:var(--white);margin-bottom:1rem}.cta-title span{color:var(--gold)}.cta-description{font-size:1.1rem;color:#b0c4c4;max-width:700px;margin:0 auto 2rem}.cta-btn-group{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.cta-button{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;border-radius:50px;font-weight:600;font-size:1rem;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease;background:var(--gold);color:var(--primary-dark);box-shadow:0 4px 15px rgba(212,175,55,0.25);will-change:transform}.cta-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,0.35)}.cta-button-outline{background:transparent;border:2px solid var(--gold);color:var(--gold)}.cta-button-outline:hover{background:rgba(212,175,55,0.1);transform:translateY(-3px)}

/* ===== ANIMATIONS ===== */
.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(0.2,0.9,0.4,1),transform .6s cubic-bezier(0.2,0.9,0.4,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animated-ship{opacity:.85;will-change:transform;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes sail-right{0%{transform:translateX(-150px)}100%{transform:translateX(1200px)}}

/* ============================================================
   WIDE MAP ANIMATIONS (NEW)
   ============================================================ */
@keyframes sail-wide{0%{transform:translateX(-120px) translateY(0px) rotate(0deg);opacity:0}5%{opacity:1}25%{transform:translateX(200px) translateY(-5px) rotate(0.8deg)}50%{transform:translateX(500px) translateY(4px) rotate(-0.6deg)}75%{transform:translateX(800px) translateY(-4px) rotate(0.5deg)}95%{opacity:1}100%{transform:translateX(1100px) translateY(0px) rotate(0deg);opacity:0}}
@keyframes wave-particle-wide{0%{transform:translateX(-30px) translateY(0px);opacity:.2}50%{transform:translateX(500px) translateY(-8px);opacity:1}100%{transform:translateX(1030px) translateY(0px);opacity:.2}}
@keyframes pulse-hub{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}
@keyframes pulse-glow{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}

/* ============================================================
   WIDE MAP RESPONSIVE
   ============================================================ */
@media(max-width:1024px){.bangladesh-page .large-card{min-height:800px!important;height:800px!important;max-height:900px!important}}
@media(max-width:768px){.bangladesh-page .container{padding:0 10px!important}.bangladesh-page .large-card{min-height:700px!important;height:700px!important;max-height:800px!important;padding:15px 10px!important}.bangladesh-page .large-card>div:first-of-type{overflow-x:auto;-webkit-overflow-scrolling:touch}.bangladesh-page .large-card>div:first-of-type>div{min-width:800px}.bangladesh-page .animated-ship{display:none!important}}
@media(max-width:480px){.bangladesh-page .large-card{min-height:600px!important;height:600px!important;max-height:700px!important;padding:10px 8px!important}.bangladesh-page .large-card>div:first-of-type>div{min-width:700px;font-size:.8rem}.bangladesh-page .large-card .grid-item{padding:10px 12px!important}.bangladesh-page .large-card .icon-circle{width:35px!important;height:35px!important;font-size:1.2rem!important}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:768px){.hero{min-height:80vh}.hero-content{padding:30px 16px}.hero-stats{gap:20px}.hero-stat-number{font-size:1.8rem}.faq-section{padding:50px 0}.faq-question{font-size:1rem;padding:14px 18px}.cta-section{padding:40px 0}.cta-container{padding:24px 16px}.cta-btn-group{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:300px;justify-content:center}.breadcrumb-container{padding:0 16px}.contact-card{padding:18px 20px}}
@media(max-width:480px){.hero h1{font-size:2.2rem}.hero-description{font-size:1rem}.btn{padding:12px 24px;font-size:.9rem}.section{padding:40px 0}.large-card{padding:18px}}

/* ============================================================
   PERFORMANCE
   ============================================================ */
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-on-scroll{opacity:1;transform:none}.animated-ship{animation:none!important}}

/* ============================================================
   STYLE 5: HERO FULL LAYOUT
   ============================================================ */
.port-hero-full{position:relative;padding:100px 0;background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden;min-height:80vh;display:flex;align-items:center}.port-hero-full::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,15,25,.75)0%,rgba(5,25,40,.55)50%,rgba(3,15,25,.75)100%);z-index:1}.port-hero-full::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(212,175,55,.03)0%,transparent 70%);z-index:0}.port-hero-inner{max-width:1400px;margin:0 auto;width:100%;position:relative;z-index:2;padding:0 24px}.port-hero-card{max-width:1250px;max-height:800px;height:auto;min-height:600px;margin:0;text-align:left;padding:50px 55px 45px;border-radius:30px;background:rgba(255,255,255,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(212,175,55,.10);box-shadow:0 20px 60px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.03);display:flex;flex-direction:column;justify-content:center;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.2) transparent}.port-hero-card::-webkit-scrollbar{width:4px}.port-hero-card::-webkit-scrollbar-track{background:transparent}.port-hero-card::-webkit-scrollbar-thumb{background:rgba(212,175,55,.2);border-radius:10px}.port-hero-badge-wrapper{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:15px}.port-hero-badge-line{flex:0.5;max-width:40px;height:1px}.port-hero-badge-line:first-child{background:linear-gradient(90deg,transparent,var(--gold))}.port-hero-badge-line:last-child{background:linear-gradient(90deg,var(--gold),transparent)}.port-hero-badge{font-size:.75rem;letter-spacing:3px;background:rgba(212,175,55,.10);padding:6px 20px;border-radius:20px;border:1px solid rgba(212,175,55,.15);color:var(--gold);text-transform:uppercase;font-weight:600}.port-hero-badge i{margin-right:8px}.port-hero-card h2{font-size:2.6rem;line-height:1.2;color:#fff;margin-bottom:18px;text-align:left}.port-hero-card h2 span{color:#D4AF37}.port-hero-card .port-hero-content p{color:#d8d8d8;font-size:1rem;line-height:1.9;max-width:100%;margin:0 0 14px;letter-spacing:.3px;text-align:left}.port-hero-card .port-hero-content p:last-child{margin-bottom:0}.port-hero-card .port-hero-content .text-gold{color:#D4AF37}.port-hero-btn-group{margin-top:25px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.cta-button-primary{display:inline-flex;align-items:center;gap:12px;padding:18px 45px;background:linear-gradient(135deg,#00b4d8,#0077b6);color:#fff;text-decoration:none;font-weight:800;font-size:1.05rem;border-radius:40px;box-shadow:0 12px 40px rgba(0,180,216,.4);transition:all .4s ease;border:3px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.cta-button-primary i{font-size:1.2rem}.cta-button-primary::before{content:'';position:absolute;inset:-2px;border-radius:60px;background:linear-gradient(135deg,#00b4d8,#0077b6,#00b4d8);background-size:200% 200%;z-index:-1;animation:cta-glow-pulse 3s ease-in-out infinite;filter:blur(10px);opacity:.4}@keyframes cta-glow-pulse{0%,100%{background-position:0% 50%;opacity:.4}50%{background-position:100% 50%;opacity:.8}}.cta-button-primary:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 20px 60px rgba(0,180,216,.7);border-color:rgba(255,255,255,.5);background:linear-gradient(135deg,#00c8f0,#0088c8)}.cta-button-primary:active{transform:scale(.97)}.cta-button-secondary{display:inline-flex;align-items:center;gap:12px;padding:18px 45px;background:transparent;color:#fff;text-decoration:none;font-weight:800;font-size:1.05rem;border-radius:60px;border:3px solid rgba(255,255,255,.3);transition:all .4s ease;text-transform:uppercase;letter-spacing:.5px}.cta-button-secondary i{font-size:1.2rem}.cta-button-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6);transform:translateY(-5px) scale(1.05);box-shadow:0 10px 40px rgba(255,255,255,.05)}.cta-button-secondary:active{transform:scale(.97)}.section-subtitle{text-align:center;display:block;margin:0 auto;font-weight:600;color:#D4AF37;letter-spacing:2px}