.wct.ww-plants-expanded .wct-step.ww-iran-process:not(.out) {max-width:1320px;}
.ww-iran-process .iran-mount {border:1px solid #c8dce9;border-radius:14px;padding:22px;background:rgba(245,247,250,.9);box-shadow:0 6px 24px rgba(0,76,151,.055);}
.ww-iran-process .iran-topline {display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#54718c;font-size:11px;letter-spacing:.1em;font-family:var(--mono);}
.ww-iran-process .iran-touch {letter-spacing:0;font-family:inherit;color:#5f6b7a;}
.ww-iran-process .iran-key {display:flex;gap:20px;flex-wrap:wrap;margin:18px 0 4px;font-size:11px;color:#5f6b7a;}
.ww-iran-process .iran-key span {display:flex;align-items:center;gap:7px;}
.ww-iran-process .iran-key i {width:23px;border-top:3px solid #004c97;}
.ww-iran-process .iran-key i.product {border-color:#00b5e2;}
.ww-iran-process .iran-key i.aux {border-top:2px dashed #7f97ab;}
.ww-iran-process .iran-layout {display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:22px;}
.ww-iran-process .iran-overview {display:block;width:100%;height:auto;overflow:visible;margin:12px 0;}
.ww-iran-process .iran-zone {font:600 14px var(--mono);letter-spacing:1.4px;fill:#8499af;}
.ww-iran-process .iran-label {font:500 20px var(--font);fill:#004c97;}
.ww-iran-process .iran-piece {cursor:pointer;outline:none;}
.ww-iran-process .iran-equipment {transition:filter .2s;}
.ww-iran-process .iran-number circle {fill:#004c97;transition:fill .2s;}
.ww-iran-process .iran-number text {fill:#fff;text-anchor:middle;font:600 13px var(--font);}
.ww-iran-process .iran-piece:hover .iran-equipment,.ww-iran-process .iran-piece:focus-visible .iran-equipment,.ww-iran-process .iran-piece[aria-pressed=true] .iran-equipment {filter:drop-shadow(0 0 3px rgba(0,181,226,.65));}
.ww-iran-process .iran-piece:hover .iran-number circle,.ww-iran-process .iran-piece:focus-visible .iran-number circle,.ww-iran-process .iran-piece[aria-pressed=true] .iran-number circle {fill:#008cac;}
.ww-iran-process .iran-piece[aria-pressed=true] .iran-label {fill:#0086aa;font-weight:700;}
.ww-iran-process .iran-connection {stroke:#004c97;stroke-width:2.5;fill:none;stroke-linejoin:round;}
.ww-iran-process .iran-connection.product {stroke:#00b5e2;}
.ww-iran-process .iran-aux-route {stroke:#7494ae;stroke-width:2;stroke-dasharray:7 5;fill:none;opacity:0;pointer-events:none;transition:opacity .2s;}
.ww-iran-process .iran-aux-route.energy {stroke:#004c97;stroke-dasharray:2 5;}
.ww-iran-process .iran-flow-selected {opacity:1;stroke-width:3;filter:drop-shadow(0 0 2px rgba(0,181,226,.3));}
.ww-iran-process .iran-connection.iran-flow-selected {stroke-dasharray:9 4;animation:iran-flow 1s linear infinite;}
@keyframes iran-flow {to{stroke-dashoffset:-13;}}
.ww-iran-process .iran-explanation {background:#fff;border:1px solid #d7e4ed;border-radius:14px;padding:18px 20px;position:sticky;top:110px;margin-top:18px;box-shadow:0 3px 12px rgba(0,40,75,.035);min-height:132px;box-sizing:border-box;}
.ww-iran-process .iran-detail-kicker {display:block;color:#0086aa;font:500 10px var(--mono);letter-spacing:.1em;margin-bottom:8px;}
.ww-iran-process .iran-explanation h4 {margin:0 0 8px;font-size:17px;color:#004c97;line-height:1.4;}
.ww-iran-process .iran-explanation p {margin:0;max-width:95ch;font-size:14px;color:#425061;line-height:1.65;}
.ww-iran-process .iran-mobile {display:none;}
@media(max-width:1000px){
 .ww-iran-process .iran-layout {display:block;}
 .ww-iran-process .iran-mount {padding:18px 14px;}
 .ww-iran-process .iran-overview,.ww-iran-process .iran-key {display:none;}
 .ww-iran-process .iran-mobile {display:block;margin-top:18px;--iran-header:80px;}
 .ww-iran-process .iran-progress {position:sticky;top:var(--iran-header);z-index:12;padding:10px 0 8px;background:#f3f8fb;border-bottom:1px solid #c8dce9;box-shadow:0 8px 12px -12px #004c97;}
 .ww-iran-process .iran-progress-caption {display:flex;justify-content:space-between;align-items:center;gap:8px;color:#004c97;margin-bottom:4px;font:500 10px var(--mono);letter-spacing:.04em;}
 .ww-iran-process .iran-progress-caption strong {white-space:nowrap;font:600 13px var(--font);}
 .ww-iran-process .iran-progress-buttons {display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:2px;}
 .ww-iran-process .iran-progress button {border:0;min-height:44px;min-width:44px;background:transparent;border-radius:8px;color:#004c97;font:600 14px var(--font);cursor:pointer;}
 .ww-iran-process .iran-progress button.is-passed {background:#e0f3fa;}
 .ww-iran-process .iran-progress button[aria-current=step] {box-shadow:inset 0 0 0 2px #00b5e2;}
 .ww-iran-process .iran-progress button[aria-pressed=true] {background:#004c97;color:#fff;}
 .ww-iran-process .iran-sequence {padding:24px 0 0;}
 .ww-iran-process .iran-stage {position:relative;padding:8px 0 32px 44px;min-height:330px;box-sizing:border-box;}
 .ww-iran-process .iran-stage::before,.ww-iran-process .iran-stage::after {content:"";position:absolute;left:15px;top:24px;bottom:-24px;width:3px;background:#cbdde9;border-radius:3px;}
 .ww-iran-process .iran-stage::after {background:#00b5e2;transform:scaleY(0);transform-origin:top;transition:transform .35s ease;}
 .ww-iran-process .iran-stage.is-passed::after {transform:scaleY(1);}
 .ww-iran-process .iran-stage:last-child::before,.ww-iran-process .iran-stage:last-child::after {display:none;}
 .ww-iran-process .iran-stage-node {position:absolute;left:0;top:8px;z-index:1;width:33px;height:33px;border-radius:50%;background:#f3f8fb;border:2px solid #b3cadc;display:grid;place-items:center;color:#004c97;font:600 13px var(--font);box-sizing:border-box;}
 .ww-iran-process .is-passed .iran-stage-node,.ww-iran-process .is-current .iran-stage-node {background:#004c97;border-color:#004c97;color:#fff;}
 .ww-iran-process .is-current .iran-stage-node {box-shadow:0 0 0 5px #d8f4fb;}
 .ww-iran-process .iran-stage-equipment {display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:#004c97;cursor:pointer;}
 .ww-iran-process .iran-stage-equipment svg {display:block;width:min(100%,220px);height:auto;margin:0 auto 8px;transition:filter .2s;}
 .ww-iran-process .iran-stage-equipment[aria-pressed=true] svg {filter:drop-shadow(0 4px 5px #00b5e233);}
 .ww-iran-process .iran-stage-role {display:block;font:500 9px var(--mono);letter-spacing:.08em;color:#0086aa;margin:12px 0 6px;}
 .ww-iran-process .iran-stage-title {display:block;font:600 20px/1.3 var(--font);}
 .ww-iran-process .iran-stage p {margin:10px 0 0;color:#425061;font:400 14px/1.65 var(--font);}
 .ww-iran-process .iran-mobile-aux {border-top:1px solid #c8dce9;padding-top:24px;display:grid;gap:10px;}
 .ww-iran-process .iran-mobile-aux h4 {margin:0;font-size:21px;color:#004c97;}
 .ww-iran-process .iran-mobile-aux>p {font-size:14px;line-height:1.5;color:#425061;margin:0 0 8px;}
 .ww-iran-process .iran-mobile-piece {display:grid;grid-template-columns:24px 78px minmax(0,1fr);align-items:center;gap:8px;padding:12px 8px;background:#fff;border:1px solid #d7e4ed;border-radius:10px;color:#004c97;text-align:left;font:500 13px var(--font);cursor:pointer;min-width:0;}
 .ww-iran-process .iran-mobile-piece svg {width:78px;height:auto;}
 .ww-iran-process .iran-mobile-n {background:#004c97;color:#fff;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;}
 .ww-iran-process .iran-mobile-piece[aria-pressed=true] {border-color:#00b5e2;background:#e9f9fd;}
 .ww-iran-process .iran-mobile button:focus-visible {outline:2px solid #0086aa;outline-offset:3px;}
 .ww-iran-process .iran-explanation {padding:16px;min-height:0;position:static;margin:0;}
 .ww-iran-process .iran-explanation[hidden] {display:none;}
 .ww-iran-process .iran-explanation h4 {font-size:16px;}
}
@media(max-width:370px){.ww-iran-process .iran-progress-buttons {grid-template-columns:repeat(5,minmax(44px,1fr));}}
@media(prefers-reduced-motion:reduce){.ww-iran-process *{animation:none!important;transition:none!important;}}

.ww-iran-process .iran-aux-route.concentrate {opacity:0;}
.ww-iran-process .iran-aux-route.concentrate.iran-flow-selected {opacity:1;}

/* Compact mobile map, using the same equipment symbols as the desktop reference. */
.ww-iran-process [hidden]{display:none!important}
.ww-iran-process .iran-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){
 .ww-iran-process .iran-mount{padding:14px 8px;overflow:visible}
 .ww-iran-process .iran-mobile{margin-top:14px}
 .ww-iran-process .iran-journey{position:relative}
 .ww-iran-process .iran-mobile-sticky{padding:0 2px 8px;background:#f3f8fb;isolation:isolate;border-radius:10px}
 .ww-iran-process .iran-journey.is-pinned .iran-mobile-sticky{position:sticky;top:var(--iran-header);z-index:12}
 .ww-iran-process .iran-progress{position:static;padding:2px 0 4px;border:0;box-shadow:none}
 .ww-iran-process .iran-progress-caption{font-size:10px;line-height:14px;margin:0 0 2px}
 .ww-iran-process .iran-progress-caption strong{font-size:12px;line-height:14px}
 .ww-iran-process .iran-progress-buttons{grid-template-columns:repeat(6,minmax(44px,1fr));gap:0}
 .ww-iran-process .iran-progress button{padding:0;font-size:13px}
 .ww-iran-process .iran-map{position:relative;max-width:520px;margin:auto}
 .ww-iran-process .iran-map-phase{height:22px;padding:4px 8px;font:500 10px/14px var(--mono);color:#64829b;position:relative;z-index:3;width:max-content;background:#f3f8fb}
 .ww-iran-process .iran-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 2px;padding:0 7px}
 .ww-iran-process .iran-map-node{position:relative;min-width:0;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border:0;border-radius:8px;background:transparent;color:#004c97;padding:1px 2px 3px;cursor:pointer}
 .ww-iran-process .iran-map-node>svg{width:70px;height:52.5px;max-width:100%;position:relative;z-index:3;flex-shrink:0}
 .ww-iran-process .iran-map-number{position:absolute;left:1px;top:0;z-index:4;min-width:18px;height:18px;padding:0 2px;display:grid;place-items:center;border-radius:50%;background:#004c97;color:#fff;font:600 10px/1 var(--font)}
 .ww-iran-process .iran-map-label{font:500 12px/1.2 var(--font);position:relative;z-index:3;background:#f3f8fb;padding:1px 2px;max-width:100%;border-radius:3px}
 .ww-iran-process .iran-map-node[aria-pressed=true]{background:#ddf3fa}
 .ww-iran-process .iran-map-node[aria-pressed=true] .iran-map-label{background:#ddf3fa;font-weight:600}
 .ww-iran-process .iran-map-node[aria-pressed=true] .iran-map-number{background:#008fae}
 .ww-iran-process .iran-map-node.is-related{outline:1px dashed #7494ae;outline-offset:-1px}
 .ww-iran-process .iran-map-pipes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
 .ww-iran-process .iran-map-pipes .iran-connection{stroke-width:2}
 .ww-iran-process .iran-map-pipes .iran-flow-selected{filter:none;stroke-width:2.2}
 .ww-iran-process .iran-aux-shortcuts{max-width:520px;margin:4px auto 0}
 .ww-iran-process .iran-aux-shortcuts>span{display:block;font:500 10px/14px var(--mono);color:#64829b}
 .ww-iran-process .iran-aux-shortcuts>div{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr))}
 .ww-iran-process .iran-aux-shortcuts button{min-height:44px;min-width:44px;border:0;border-radius:8px;background:transparent;color:#004c97;font:600 13px var(--font);cursor:pointer}
 .ww-iran-process .iran-aux-shortcuts button[aria-pressed=true]{background:#004c97;color:#fff}
 .ww-iran-process .iran-mobile-aux{margin-top:16px;padding-top:18px}
 .ww-iran-process .iran-mobile-piece svg{height:auto}
}
@media(max-width:350px){.ww-iran-process .iran-progress-buttons{grid-template-columns:repeat(5,minmax(44px,1fr))}.ww-iran-process .iran-aux-shortcuts>div{grid-template-columns:repeat(3,minmax(44px,1fr))}}

/* On shorter phones, the map's own numbered controls replace duplicate navigation. */
@media(max-width:1000px){
 .ww-iran-process .iran-mobile.is-compact .iran-progress-buttons{display:none}
 .ww-iran-process .iran-mobile.is-compact .iran-map-node>svg{width:54px;height:40.5px}
 .ww-iran-process .iran-mobile.is-compact .iran-map-node{min-height:70px}
 .ww-iran-process .iran-mobile.is-compact .iran-map-grid{row-gap:4px}
 .ww-iran-process .iran-mobile.is-compact .iran-map-phase{height:18px;padding-top:2px;padding-bottom:2px}
}

/* Mobile information lives outside the sticky map and never changes its height. */
@media(max-width:1000px){
 .ww-iran-process .iran-map-hint{margin:6px 0 0;font-size:11px;line-height:1.4;color:#536e83;text-align:center}
}
.iran-mobile-popup{box-sizing:border-box;width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 48px);margin:auto;padding:26px 22px;border:1px solid #cbdfea;border-radius:18px;background:#fff;color:#33404f;box-shadow:0 18px 60px #001d3b40;overflow:auto;overscroll-behavior:contain;font-family:Poppins,system-ui,sans-serif}
.iran-mobile-popup::backdrop{background:rgba(0,25,51,.48)}
.iran-popup-kicker{display:block;padding-right:40px;margin-bottom:12px;color:#007e9e;font-size:10px;font-weight:600;letter-spacing:.1em}
.iran-mobile-popup h2{margin:0 32px 12px 0;color:#004c97;font-size:22px;line-height:1.25}
.iran-mobile-popup p{margin:0;font-size:15px;line-height:1.65}
.iran-popup-relations{font-size:13px;line-height:1.6;color:#54718c;border-left:2px dashed #7494ae;padding-left:8px;margin-top:12px}
.iran-popup-relations[hidden]{display:none}
.iran-popup-close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#004c97;font-size:28px;cursor:pointer}
.iran-popup-close:focus-visible{outline:3px solid #00b5e2;outline-offset:-3px}
