/* Moltech Marine Portal */
:root { --mlp-navy:#0b2a4a; --mlp-blue:#1565a0; --mlp-accent:#e8641b; --mlp-bg:#f4f7fa; --mlp-card:#fff; --mlp-text:#243447; }
.mlp-hero { background:linear-gradient(135deg,var(--mlp-navy),var(--mlp-blue)); color:#fff; padding:3em 2em; border-radius:12px; margin-bottom:2em; }
.mlp-hero h1 { color:#fff; margin:0 0 .4em; font-size:2.2em; }
.mlp-hero p { opacity:.92; max-width:640px; }
.mlp-hero-btns { margin-top:1.4em; display:flex; gap:.8em; flex-wrap:wrap; }
.mlp-btn { display:inline-block; background:var(--mlp-accent); color:#fff !important; padding:.7em 1.5em; border-radius:6px; text-decoration:none; font-weight:600; border:none; cursor:pointer; }
.mlp-btn:hover { filter:brightness(1.08); }
.mlp-btn-outline { background:transparent; border:2px solid #fff; }
.mlp-btn-sm { padding:.4em 1em; font-size:.9em; }
.mlp-lead { font-size:1.15em; color:var(--mlp-text); }
.mlp-grid3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.2em; margin:1.5em 0; }
.mlp-card { background:var(--mlp-card); border:1px solid #e2e8f0; border-radius:10px; padding:1.4em; box-shadow:0 1px 3px rgba(11,42,74,.06); }
.mlp-card h3 { margin-top:0; color:var(--mlp-navy); }
.mlp-filters { display:flex; gap:.8em; flex-wrap:wrap; margin:1.2em 0; }
.mlp-vc-row { display:flex; gap:1.5em; flex-wrap:wrap; margin:1.2em 0; align-items:flex-end; }
.mlp-vc-row label { display:flex; flex-direction:column; gap:.4em; font-weight:600; }
.mlp-vc-row input[type=number], .mlp-vc-row select { padding:.6em .9em; border:1px solid #cbd5e1; border-radius:6px; font-size:1em; min-width:220px; }
/* volume converter v2 — card + grid like reference */
.mlp-vc2-title { text-align:center; color:#1b4f72; font-weight:800; letter-spacing:2px; margin:0 0 1.2em; font-size:1.6em; }
.mlp-vc2-card { background:#f5f5f5; border-radius:12px; padding:2em 1.5em; box-shadow:0 2px 10px rgba(0,0,0,.07); }
.mlp-vc2-controls { display:flex; align-items:center; justify-content:center; gap:.9em; flex-wrap:nowrap; }
.mlp-vc2-lab { color:#8a8a8a; font-size:1.05em; white-space:nowrap; line-height:1; }
.mlp-vc2-controls input[type=number] { width:150px; height:44px; padding:.55em .8em; border:1px solid #d8d8d8; border-radius:8px; font-size:1.05em; background:#fff; box-sizing:border-box; }
.mlp-vc2-controls select { width:230px; height:44px; padding:.55em 2.2em .55em .8em; border:1px solid #d8d8d8; border-radius:8px; font-size:1.05em; background:#fff; box-sizing:border-box; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .9em center; }
.mlp-vc2-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.3em 2em; margin:2.2em auto 0; max-width:820px; }
.mlp-vc2-item { display:flex; align-items:center; gap:.9em; min-width:0; }
.mlp-vc2-item input { width:150px; flex:0 0 150px; padding:.6em .7em; border:1px solid #dcdcdc; border-radius:8px; background:#fafafa; font-size:1em; color:#333; box-sizing:border-box; }
.mlp-vc2-item span { color:#8a8a8a; font-size:1em; white-space:nowrap; }
.mlp-vc2 .mlp-note { margin-top:2.5em; }
@media (max-width:640px){ .mlp-vc2-grid { grid-template-columns:1fr; gap:1em; } .mlp-vc2-controls { flex-wrap:wrap; } }
/* ports directory */
.mlp-ports-wrap { display:flex; gap:2em; align-items:flex-start; }
.mlp-ports-side { flex:0 0 220px; background:#f5f5f5; border-radius:10px; overflow:hidden; }
.mlp-ports-side h3 { background:#1b4f72; color:#fff; margin:0; padding:.7em 1em; font-size:1em; letter-spacing:1px; }
.mlp-ports-side ul { list-style:none; margin:0; padding:0; }
.mlp-ports-side li a { display:block; padding:.55em 1em; color:#1b4f72; text-decoration:none; font-size:.92em; border-bottom:1px solid #e5e5e5; }
.mlp-ports-side li a:hover, .mlp-ports-side li a.on { background:#dbe9f4; }
.mlp-ports-side li.sub a { padding-left:2em; font-size:.85em; }
.mlp-ports-side .mlp-ports-back { display:block; margin:1em; padding:.6em; background:#3a3a3a; color:#fff; text-align:center; border-radius:6px; text-decoration:none; font-size:.9em; }
.mlp-ports-main { flex:1; min-width:0; }
.mlp-ports-main h2 { color:#1b4f72; letter-spacing:1px; margin-top:0; }
.mlp-ports-map { position:relative; }
.mlp-ports-map svg { width:100%; height:auto; display:block; }
.mlp-ports-tip { position:absolute; pointer-events:none; background:#1B4F72; color:#fff; padding:.3em .8em; border-radius:6px; font-size:.85em; white-space:nowrap; display:none; z-index:5; }
.mlp-ports-list { margin-top:1.5em; }
.mlp-ports-list table { width:100%; border-collapse:collapse; }
.mlp-ports-list th { background:#1b4f72; color:#fff; padding:.6em; text-align:left; }
.mlp-ports-list td { padding:.55em .6em; border-bottom:1px solid #e5e5e5; }
@media (max-width:760px){ .mlp-ports-wrap { flex-direction:column; } .mlp-ports-side { flex:none; width:100%; } }
.mlp-filters input[type=text], .mlp-filters select { padding:.6em .9em; border:1px solid #cbd5e1; border-radius:6px; font-size:1em; }
.mlp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1em; }
.mlp-prod { background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:1em 1.2em; }
.mlp-prod h4 { margin:.2em 0; color:var(--mlp-navy); font-size:1.05em; }
.mlp-prod .mlp-cat { font-size:.85em; color:var(--mlp-blue); font-weight:600; }
.mlp-prod .mlp-desc { font-size:.9em; color:#5b6b7f; margin:.5em 0 .8em; }
.mlp-note { font-size:.9em; color:#5b6b7f; }
.mlp-table-wrap { overflow-x:auto; }
.mlp-table { width:100%; border-collapse:collapse; font-size:.88em; background:#fff; }
.mlp-table th, .mlp-table td { border:1px solid #e2e8f0; padding:.55em .7em; text-align:left; }
.mlp-table th { background:var(--mlp-navy); color:#fff; position:sticky; top:0; }
.mlp-table tr:nth-child(even) td { background:#f8fafc; }
.mle-brands { display:flex; gap:1em; flex-wrap:wrap; margin:.6em 0 1em; }
.mle-brands label { font-size:.92em; }
/* ---- interactive virtual vessel ---- */
.mlp-shipviewer { width:100%; margin:0 auto; }
.mlp-sv-stage { position:relative; border-radius:10px; overflow:hidden; border:1px solid #e2e8f0; background:#d3e5f4; min-height:min(78vh,700px); display:flex; align-items:center; justify-content:center; }
.mlp-sv-flip { position:relative; width:88%; }
.mlp-sv-img { display:block; width:100%; height:auto; }
.mlp-sv-pins { position:absolute; inset:0; }
.mlp-sv-pin { position:absolute; width:32px; height:32px; background:#E02A3A; border:none; border-radius:4px; padding:0; cursor:pointer; z-index:2; }
.mlp-sv-pin-i { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#fff; font-weight:800; font-style:normal; font-size:19px; font-family:inherit; }
.mlp-sv-pin:after { content:""; position:absolute; top:calc(100% - 2px); left:0; width:0; height:0; border-left:9px solid transparent; border-right:9px solid transparent; border-top:8px solid #E02A3A; }
.mlp-sv-pin-label { display:none; white-space:nowrap; color:#fff; font-size:13px; font-weight:700; line-height:1.3; font-family:inherit; }
.mlp-sv-pin.show-label { width:auto; height:auto; padding:6px 10px; border-radius:4px 4px 4px 0; }
.mlp-sv-pin.show-label .mlp-sv-pin-i { display:none; }
.mlp-sv-pin.show-label .mlp-sv-pin-label { display:block; }
.mlp-sv-pin.mlp-sv-windlass.show-label { left:73% !important; border-radius:4px 4px 0 4px; }
.mlp-sv-pin.mlp-sv-windlass.show-label:after { left:87.5%; }
.mlp-sv-pin.mlp-sv-scenepin:after { left:50%; transform:translateX(-50%); }
.mlp-sv-eye { position:absolute; width:44px; height:44px; border-radius:50%; background:#fff; border:none; box-shadow:0 2px 8px rgba(0,0,0,.25); cursor:pointer; color:#374649; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:600; z-index:5; }
.mlp-sv-eye { left:14px; bottom:14px; }
.mlp-sv-eye.active { background:#d8232a; color:#fff; }
.mlp-sv-toship { display:none; position:absolute; left:14px; top:14px; z-index:9; background:#fff; border:none; border-radius:20px; box-shadow:0 2px 8px rgba(0,0,0,.25); padding:.5em 1.1em; font-size:14px; font-weight:600; color:#374649; cursor:pointer; }
.mlp-sv-toship.show { display:block; }
.mlp-sv-welcome { position:absolute; inset:0; background:rgba(20,40,60,.55); display:none; align-items:center; justify-content:center; z-index:10; }
.mlp-sv-welcome.open { display:flex; }
.mlp-sv-welcome-box { background:#fff; border-radius:12px; padding:2.2em 2.6em; max-width:440px; text-align:center; margin:1em; }
.mlp-sv-welcome-box h2 { margin:0 0 .5em; color:#1e3a6e; text-transform:uppercase; letter-spacing:.04em; }
.mlp-sv-welcome-box p { color:#5a6a72; margin-bottom:1.4em; }
.mlp-sv-panel { position:absolute; top:0; left:0; bottom:0; width:min(360px,88%); background:#fff; box-shadow:4px 0 18px rgba(0,0,0,.25); transform:translateX(-105%); transition:transform .28s ease; z-index:8; overflow-y:auto; }
.mlp-sv-panel.open { transform:translateX(0); }
.mlp-sv-panel-body { padding:3.4em 1.6em 1.6em; }
.mlp-sv-panel-body h3 { margin:0 0 .6em; text-transform:uppercase; letter-spacing:.03em; color:#1a202c; font-size:1.35em; }
.mlp-sv-panel-body p { color:#374649; line-height:1.55; }
.mlp-sv-panel-img { width:100%; height:auto; border-radius:8px; margin-bottom:1.1em; display:block; }
.mlp-sv-close, .mlp-sv-back { position:absolute; top:10px; width:36px; height:36px; border:none; background:none; font-size:26px; line-height:1; cursor:pointer; color:#374649; }
.mlp-sv-close { right:8px; }
.mlp-sv-back { left:8px; color:#cbd5e1; }
@media (max-width:640px){ .mlp-sv-pin-label { font-size:12px; } }
.mlp-form { max-width:640px; }
.mlp-form input[type=text], .mlp-form input[type=email], .mlp-form select, .mlp-form textarea { width:100%; padding:.65em .9em; border:1px solid #cbd5e1; border-radius:6px; font-size:1em; }
.mlp-success { background:#e6f4ea; border:1px solid #a3d9b1; color:#1e6b34; padding:1em 1.2em; border-radius:8px; }
.mlp-news-item { border-bottom:1px solid #e2e8f0; padding:1.2em 0; }
.mlp-news-item h3 { margin:0 0 .2em; }
.mlp-date { color:#8a97a8; font-size:.88em; margin:0 0 .5em; }
.mlp-downloads .mlp-dl { display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:.9em 1.2em; margin-bottom:.7em; }
/* Lubmarine-style tables — colors sampled from lubmarine.totalenergies.com */
.mlt-group { color:#374649; margin:1.8em 0 .6em; font-size:1.5em; }
.mlt-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.mlt-table thead { display:table-header-group; }
.mlt-table tbody { display:table-row-group; }
.mlt-table tr { display:table-row; }
.mlt-table th, .mlt-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.mlt-table thead th { color:#fff; font-size:1.05em; }
.mlt-table thead th.mlt-cathead { font-size:1.3em; }
.mlt-desc { font-size:.95em; color:#374649; }
.mlt-s0 thead th { background:#5593c9; } .mlt-s0 tbody tr:nth-child(odd) { background:#eff4fa; } .mlt-s0 td strong { color:#2f6da3; }
.mlt-s1 thead th { background:#3d7ab5; } .mlt-s1 tbody tr:nth-child(odd) { background:#ebf1f8; } .mlt-s1 td strong { color:#2a5f92; }
.mlt-s2 thead th { background:#f6a200; } .mlt-s2 tbody tr:nth-child(odd) { background:#fef7e5; } .mlt-s2 td strong { color:#b87a00; }
.mlt-s3 thead th { background:#59b9d7; } .mlt-s3 tbody tr:nth-child(odd) { background:#eef8fc; } .mlt-s3 td strong { color:#2a8fb0; }
.mlt-s4 thead th { background:#8abe6d; } .mlt-s4 tbody tr:nth-child(odd) { background:#f3f8f1; } .mlt-s4 td strong { color:#5d9247; }
.mlt-s5 thead th { background:#ef7a6a; } .mlt-s5 tbody tr:nth-child(odd) { background:#fdf1f1; } .mlt-s5 td strong { color:#c05a4c; }
.mlt-s6 thead th { background:#2e9e6b; } .mlt-s6 tbody tr:nth-child(odd) { background:#ecf7f1; } .mlt-s6 td strong { color:#1f7a52; }
/* Castrol-style tables — Castrol green bars, sub-category headings */
.mlc-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.mlc-table thead { display:table-header-group; }
.mlc-table tbody { display:table-row-group; }
.mlc-table tr { display:table-row; }
.mlc-table th, .mlc-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.mlc-table thead th.mlc-cathead { background:#009a44; color:#fff; font-size:1.25em; }
.mlc-table tbody tr:nth-child(odd of .mlc-row) { background:#edf6f0; }
.mlc-sub td { color:#009a44 !important; font-weight:700; font-size:1.12em; background:#fff !important; padding-top:.9em; }
.mlc-desc { font-size:.95em; color:#374649; }
.mlc-new { display:inline-block; background:#009a44; color:#fff; font-size:.72em; font-weight:700; border-radius:3px; padding:.15em .5em; margin-top:.4em; letter-spacing:.05em; }
/* Chevron-style tables — Chevron blue bars, tinted rows */
.mlv-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.mlv-table thead { display:table-header-group; }
.mlv-table tbody { display:table-row-group; }
.mlv-table tr { display:table-row; }
.mlv-table th, .mlv-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.mlv-table thead th.mlv-cathead { background:#0072bc; color:#fff; font-size:1.25em; }
.mlv-table tbody tr.mlv-row:nth-child(odd) { background:#eaf4fb; }
.mlv-desc { font-size:.95em; color:#374649; }
/* Gulf-style tables — brochure colors: navy standard, blue synthetic, green EAL */
.glf-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.glf-table thead { display:table-header-group; }
.glf-table tbody { display:table-row-group; }
.glf-table tr { display:table-row; }
.glf-table th, .glf-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.glf-table thead th.glf-cathead { color:#fff; font-size:1.25em; }
.glf-desc { font-size:.95em; color:#374649; }
.glf-c-navy thead th { background:#1e3a6e; } .glf-c-navy tbody tr.glf-row:nth-child(odd) { background:#edf1f7; }
.glf-c-blue thead th { background:#2b6cb0; } .glf-c-blue tbody tr.glf-row:nth-child(odd) { background:#eaf3fc; }
.glf-c-green thead th { background:#2e9e4f; } .glf-c-green tbody tr.glf-row:nth-child(odd) { background:#ecf7f0; }
/* Lenol-style tables — brochure match: navy bars, red product names */
.lnl-group { color:#c8102e; margin:1.8em 0 .6em; font-size:1.5em; }
.lnl-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.lnl-table thead { display:table-header-group; }
.lnl-table tbody { display:table-row-group; }
.lnl-table tr { display:table-row; }
.lnl-table th, .lnl-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.lnl-table thead th.lnl-cathead { background:#1e3a6e; color:#fff; font-size:1.25em; }
.lnl-table tbody tr.lnl-row:nth-child(odd) { background:#edf1f7; }
.lnl-name { color:#c8102e; }
.lnl-desc { font-size:.95em; color:#374649; }
/* Shell-style tables — brochure match: red bars, yellow-tinted rows */
.shl-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.shl-table thead { display:table-header-group; }
.shl-table tbody { display:table-row-group; }
.shl-table tr { display:table-row; }
.shl-table th, .shl-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.shl-table thead th.shl-cathead { background:#d8232a; color:#fff; font-size:1.25em; }
.shl-table tbody tr.shl-row:nth-child(odd) { background:#fff8e1; }
.shl-table tbody tr.shl-row:nth-child(even) { background:#fff; }
.shl-table td strong { color:#374649; }
.shl-desc { font-size:.95em; color:#5a6a72; }

.vko-group { color:#1e7e34; margin:1.8em 0 .6em; font-size:1.5em; }
.vko-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.vko-table thead { display:table-header-group; }
.vko-table tbody { display:table-row-group; }
.vko-table tr { display:table-row; }
.vko-table th, .vko-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.vko-table thead th.vko-cathead { background:#1e7e34; color:#fff; font-size:1.25em; }
.vko-table tbody tr.vko-row:nth-child(odd) { background:#eaf5ec; }
.vko-table tbody tr.vko-row:nth-child(even) { background:#fff; }
.vko-name { color:#1e7e34; }
.vko-desc { font-size:.95em; color:#374649; }

.lnp-group { color:#1e7e34; margin:1.8em 0 .6em; font-size:1.5em; }
.lnp-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.lnp-table thead { display:table-header-group; }
.lnp-table tbody { display:table-row-group; }
.lnp-table tr { display:table-row; }
.lnp-table th, .lnp-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.lnp-table thead th.lnp-cathead { background:#45af49; color:#fff; font-size:1.25em; }
.lnp-table tbody tr.lnp-row:nth-child(odd) { background:#eef7ee; }
.lnp-table tbody tr.lnp-row:nth-child(even) { background:#fff; }
.lnp-name { color:#1e7e34; }
.lnp-desc { font-size:.95em; color:#374649; }

.ptg-group { color:#0077a3; margin:1.8em 0 .6em; font-size:1.5em; }
.ptg-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.ptg-table thead { display:table-header-group; }
.ptg-table tbody { display:table-row-group; }
.ptg-table tr { display:table-row; }
.ptg-table th, .ptg-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#374649; border-bottom:none; }
.ptg-table thead th.ptg-cathead { background:#0090c0; color:#fff; font-size:1.25em; }
.ptg-table tbody tr.ptg-row:nth-child(odd) { background:#eaf6fb; }
.ptg-table tbody tr.ptg-row:nth-child(even) { background:#fff; }
.ptg-name { color:#0077a3; }
.ptg-desc { font-size:.95em; color:#374649; }

.mbl-group { color:#083a7d; margin:1.8em 0 .6em; font-size:1.5em; }
.mbl-table { display:table; width:100%; border-collapse:collapse; margin-bottom:1.6em; font-size:1.1em; }
.mbl-table thead { display:table-header-group; }
.mbl-table tbody { display:table-row-group; }
.mbl-table tr { display:table-row; }
.mbl-table th, .mbl-table td { display:table-cell; box-sizing:border-box; padding:.7em 1em; text-align:left; vertical-align:top; color:#2e3a45; border-bottom:none; }
.mbl-table thead th.mbl-cathead { background:#0c4da2; color:#fff; font-size:1.25em; }
.mbl-table tbody tr.mbl-row:nth-child(odd) { background:#eaf1fa; }
.mbl-table tbody tr.mbl-row:nth-child(even) { background:#fff; }
.mbl-name { color:#0c4da2; }
.mbl-desc { font-size:.95em; color:#2e3a45; }
