/* Jiwan Jyothi Industry – site styles */
.process-text { white-space: pre-line; }
.no-scroll { overflow: hidden; }

/* Custom Scrollbar for Gallery */
.custom-scroll::-webkit-scrollbar { height: 6px; width: 6px; }
.custom-scroll::-webkit-scrollbar-track { background: #0f172a; border-radius: 4px; }
.custom-scroll::-webkit-scrollbar-thumb { background: #475569; border-radius: 4px; }
.custom-scroll::-webkit-scrollbar-thumb:hover { background: #f97316; }

@media (hover: hover) and (pointer: fine) { body.laser-on { cursor: none; } }

/* ---- Animated icons: Our Industrial Solutions ---- */
.ai-wrap { width: 56px; height: 56px; border-radius: 12px; background: #0f172a; display: grid; place-items: center; }
.ai { width: 40px; height: 40px; overflow: visible; }
.ai * { fill: none; stroke: #f97316; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ai .ai-line, .ai .ai-trace { stroke: #cbd5e1; }
.ai-led { fill: #22c55e !important; stroke: none !important; animation: ai-blink 1.6s steps(2) infinite; }
.ai-bolt { fill: #f97316 !important; stroke: none !important; transform-origin: 32px 41px; animation: ai-pulse 2.2s ease-in-out infinite; }
.ai-lamp { stroke: none !important; fill: #334155 !important; }
.ai-l1 { animation: ai-red 3s infinite; } .ai-l2 { animation: ai-amb 3s infinite; } .ai-l3 { animation: ai-grn 3s infinite; }
.ai-trace { stroke-dasharray: 40; animation: ai-trace 2.4s linear infinite; }
.ai-knob { fill: #f97316 !important; stroke: none !important; animation: ai-switch 3s ease-in-out infinite; }
.ai-spin { transform-origin: 32px 32px; animation: ai-rot 6s linear infinite; }
.ai-gear .ai-spin { transform: scale(.72); }
.ai-bracket { stroke: #cbd5e1 !important; }
.bg-white:hover .ai-spin { animation-duration: 1.8s; }
@keyframes ai-blink { 50% { opacity: .15; } }
@keyframes ai-pulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.18); opacity: .7; } }
@keyframes ai-red { 0%,30% { fill: #ef4444; } 34%,100% { fill: #334155; } }
@keyframes ai-amb { 0%,32% { fill: #334155; } 34%,64% { fill: #f59e0b; } 66%,100% { fill: #334155; } }
@keyframes ai-grn { 0%,64% { fill: #334155; } 66%,100% { fill: #22c55e; } }
@keyframes ai-trace { from { stroke-dashoffset: 40; } to { stroke-dashoffset: 0; } }
@keyframes ai-switch { 0%,40% { transform: translateX(0); } 50%,90% { transform: translateX(5px); } 100% { transform: translateX(0); } }
@keyframes ai-rot { to { rotate: 360deg; } }

/* ---- Sketch videos: Manufacturing Process ---- */
.sketch { display: block; width: 100%; max-width: 360px; height: auto; margin: 0 0 14px; border-radius: 6px; border: 1px solid #e2e8f0; }
.sketch * { transform-box: view-box; }
.sk-paper { fill: #fbfaf6; }
.sk-grid line { stroke: #dbe7f3; stroke-width: .6; }
.sk-d, .sk-d2, .sk-cut, .sk-check, .sk-cursor, .sk-wing, .sk-bead { fill: none; stroke: #1e293b; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sk-txt { font: 600 11px 'Segoe Print','Bradley Hand','Comic Sans MS',system-ui,sans-serif; fill: #475569; }
.sk-d { stroke-dasharray: 1; stroke-dashoffset: 1; animation: sk-draw 7s ease-in-out infinite; }
.sk-late { animation-name: sk-draw-late; }
.sk-cursor { fill: #fff; stroke-width: 1.4; animation: sk-cursor 7s ease-in-out infinite; }
/* material */
.sk-sheet { animation: sk-pick 6s ease-in-out infinite; }
.sk-sheet.s1 { animation-delay: 0s; } .sk-sheet.s2 { animation-delay: 2s; } .sk-sheet.s3 { animation-delay: 4s; }
.sk-check { stroke: #16a34a; stroke-width: 3; stroke-dasharray: 30; stroke-dashoffset: 30; animation: sk-tick 2s ease-in-out infinite; }
/* cutting */
.sk-cut { stroke: #f97316; stroke-dasharray: 1; stroke-dashoffset: 1; animation: sk-draw-late 7s linear infinite; }
.sk-cut2 { animation-name: sk-draw-early; }
.sk-head { animation: sk-head 7s ease-in-out infinite; }
.sk-d2 { fill: #fbfaf6; }
.sk-beam { stroke: #ef4444; stroke-width: 2; }
.sk-spark { fill: #fde047; stroke: #f97316; stroke-width: 1; animation: sk-flicker .25s steps(2) infinite; }
/* bending */
.sk-punch { animation: sk-punch 4s ease-in-out infinite; }
.sk-wing { stroke: #f97316; stroke-width: 3.5; transform-origin: 120px 78px; }
.sk-sheetg { animation: sk-sheetg 4s ease-in-out infinite; }
.sk-wl { animation: sk-wl 4s ease-in-out infinite; } .sk-wr { animation: sk-wr 4s ease-in-out infinite; }
/* welding */
.sk-bead { stroke: #f97316; stroke-width: 4; stroke-dasharray: 1; stroke-dashoffset: 1; animation: sk-bead 5s linear infinite; }
.sk-torch { animation: sk-torch 5s linear infinite; }
/* coating */
.sk-coat { fill: #f97316; opacity: 0; animation: sk-coat 6s ease-in-out infinite; }
.sk-spray circle { fill: #f97316; animation: sk-spray 1.6s linear infinite; animation-delay: var(--d); }

@keyframes sk-draw { 0% { stroke-dashoffset: 1; } 30%,92% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 1; } }
@keyframes sk-draw-late { 0%,30% { stroke-dashoffset: 1; } 65%,92% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 1; } }
@keyframes sk-draw-early { 0%,8% { stroke-dashoffset: 1; } 28%,92% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 1; } }
@keyframes sk-cursor { 0%,30% { transform: translate(-40px,-30px); opacity: 0; } 40% { opacity: 1; } 65% { transform: translate(-20px,-36px); } 90% { transform: translate(0,0); opacity: 1; } 100% { opacity: 0; } }
@keyframes sk-pick { 0%,8% { transform: translateY(0); } 15%,28% { transform: translate(-6px,-8px); } 36%,100% { transform: translateY(0); } }
@keyframes sk-tick { 0%,20% { stroke-dashoffset: 30; } 50%,85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 30; } }
@keyframes sk-head { 0%,6% { transform: translate(60px,0); } 28% { transform: translate(88px,4px); } 32% { transform: translate(120px,0); } 65% { transform: translate(120px,0); } 92% { transform: translate(200px,0); } 100% { transform: translate(60px,0); } }
@keyframes sk-flicker { 50% { opacity: .3; } }
@keyframes sk-punch { 0%,15% { transform: translateY(0); } 45%,65% { transform: translateY(44px); } 90%,100% { transform: translateY(0); } }
@keyframes sk-sheetg { 0%,20% { transform: translateY(0); } 45%,65% { transform: translateY(6px); } 90%,100% { transform: translateY(0); } }
@keyframes sk-wl { 0%,20% { transform: rotate(0); } 45%,65% { transform: rotate(28deg); } 90%,100% { transform: rotate(0); } }
@keyframes sk-wr { 0%,20% { transform: rotate(0); } 45%,65% { transform: rotate(-28deg); } 90%,100% { transform: rotate(0); } }
@keyframes sk-bead { 0%,5% { stroke-dashoffset: 1; } 80%,92% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 1; } }
@keyframes sk-torch { 0%,5% { transform: translate(0,84px); } 80% { transform: translate(0,32px); } 92% { transform: translate(0,32px); opacity: 1; } 96% { opacity: 0; } 100% { transform: translate(0,84px); opacity: 0; } }
@keyframes sk-coat { 0%,25% { opacity: 0; } 70%,90% { opacity: .55; } 100% { opacity: 0; } }
@keyframes sk-spray { 0% { transform: translate(0,0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translate(56px,var(--dy)); opacity: 0; } }


/* ---- Manufacturing process stepper ---- */
.proc-tab { color: #334155; transition: background .2s; }
.proc-tab:hover { background: #fff; cursor: pointer; }
.proc-tab .proc-num { background: #e2e8f0; color: #334155; }
.proc-tab[aria-selected="true"] { background: #fff; color: #0f172a; box-shadow: 0 1px 3px rgba(15,23,42,.08); }
.proc-tab[aria-selected="true"] .proc-num { background: #f97316; color: #fff; }
.proc-bar { width: 0; }
#procBox.autoplay .proc-tab[aria-selected="true"] .proc-bar { animation: proc-fill 7s linear forwards; }
#procBox.paused-auto .proc-bar { animation-play-state: paused !important; }
@keyframes proc-fill { to { width: 100%; } }
.proc-panel .sketch { max-width: 460px; margin-bottom: 16px; }
.proc-panel:not(.hidden) { animation: proc-in .35s ease-out; }
@keyframes proc-in { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) { .proc-panel:not(.hidden) { animation: none; } }
.paused, .paused * { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
    .ai *, .sketch * { animation: none !important; }
    .sk-d, .sk-cut, .sk-bead, .sk-check { stroke-dashoffset: 0 !important; }
    .sk-coat { opacity: .4 !important; }
}
.float-wa { position: fixed; right: 18px; bottom: 18px; z-index: 55; }
.grab-cursor { cursor: grab; }
.grabbing-cursor { cursor: grabbing; }

/* --- CREATIVE LASER BEAM CURSOR --- */
.laser-point {
    position: fixed;
    width: 6px;
    height: 6px;
    background-color: #ffffff; 
    border-radius: 50%;
    pointer-events: none; 
    z-index: 9999;
    /* Intense Red Glow */
    box-shadow: 0 0 4px 2px #ff0000, 0 0 10px 4px #ff3333, 0 0 20px 6px #ff0000;
    transform: translate(-50%, -50%);
    transition: width 0.1s, height 0.1s, box-shadow 0.1s;
}

/* --- REALISTIC ALUMINIUM METAL TEXTURE --- */
.aluminium-bg {
    background-color: #e5e7eb;
    background-image: linear-gradient(120deg, #f3f4f6 0%, #e5e7eb 40%, #d1d5db 100%);
    background-attachment: fixed;
}

/* ---- Multi-page additions ---- */
.nav-link { position: relative; }
.nav-link[aria-current="page"]::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px; background: #f97316; }
.prod-filter { border: 1px solid #cbd5e1; color: #334155; background: #fff; }
.prod-filter:hover { border-color: #f97316; color: #f97316; }
.prod-filter.is-on { background: #f97316; border-color: #f97316; color: #fff; }
.section-tag { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: #f97316; margin-bottom: 8px; }
.card-lift { transition: transform .25s, box-shadow .25s; }
.card-lift:hover { transform: translateY(-4px); box-shadow: 0 18px 30px -12px rgba(15,23,42,.25); }
.img-zoom img { transition: transform .5s; }
.img-zoom:hover img { transform: scale(1.05); }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .2s; }
