/* =====================================================================
   aq-catalog.css  -  Catalogue, Project Verticals, product template,
   datasheet OTP modal.  Matches existing Asquare look (navy + orange).
   ===================================================================== */
:root{--cn:#123361;--co:#FC5220;--co2:#ff7b12;--cg:#667791;--cl:#f6f8fd;--cb:#e4ebf6}
.cx-wrap{background:radial-gradient(ellipse at 4% 0%,#dce8ff,transparent 40%),radial-gradient(ellipse at 96% 0%,#ffebe1,transparent 36%),#f6f8fd}
.cx-sec{padding:70px 0}
.cx-head{max-width:820px;margin:0 auto 34px;text-align:center}
.cx-head .eyebrow,.cx-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--co);margin-bottom:10px}
.cx-head h2{font-size:40px;line-height:1.15;color:var(--cn);margin:0 0 12px}
.cx-head p{color:var(--cg);line-height:1.7;margin:0}
.cx-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 30px}
.cx-chips a,.cx-chips button{padding:9px 18px;border:1px solid #dbe5f4;border-radius:30px;background:#fff;color:var(--cn);font-size:13px;font-weight:600;cursor:pointer;transition:.25s}
.cx-chips a:hover,.cx-chips button:hover,.cx-chips button.on{background:linear-gradient(110deg,var(--co2),#ff5830);border-color:var(--co);color:#fff}
/* catalogue grid */
.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px}
.cx-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cb);border-radius:22px;overflow:hidden;box-shadow:0 6px 20px rgba(30,58,99,.07);transition:.3s;position:relative}
.cx-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(255,87,11,.16);border-color:#ff9b6e}
.cx-card[hidden]{display:none}
.cx-card .ph{aspect-ratio:4/3;background:#eef3fa;overflow:hidden;position:relative}
.cx-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cx-card:hover .ph img{transform:scale(1.06)}
.cx-no{position:absolute;left:14px;top:14px;background:var(--cn);color:#fff;border-radius:30px;font-size:11px;font-weight:700;padding:5px 12px;letter-spacing:.06em}
.cx-cat{position:absolute;right:14px;top:14px;background:#fff;color:var(--co);border-radius:30px;font-size:11px;font-weight:700;padding:5px 12px}
.cx-card .bd{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.cx-card .md{font-size:13px;font-weight:800;color:var(--co);letter-spacing:.05em}
.cx-card h3{font-size:20px;line-height:1.25;color:var(--cn);margin:0}
.cx-card p{font-size:14px;line-height:1.6;color:var(--cg);margin:4px 0 10px}
.cx-card .ft{margin-top:auto;display:flex;gap:10px;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed var(--cb)}
.cx-card .ft a{font-size:13px;font-weight:700;color:var(--cn)} .cx-card .ft a:hover{color:var(--co)}
.cx-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:0;border-radius:40px;background:linear-gradient(110deg,var(--co2),#ff5830);color:#fff!important;font-weight:700;font-size:14px;cursor:pointer;transition:.25s;box-shadow:0 8px 20px rgba(255,88,48,.28);text-decoration:none}
.cx-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,88,48,.38)}
.cx-btn.alt{background:#fff;color:var(--cn)!important;border:1.5px solid var(--cn);box-shadow:none}
.cx-btn.alt:hover{background:var(--cn);color:#fff!important}
.cx-btn.sm{padding:9px 16px;font-size:12.5px}
/* product page */
.px-hero{padding:60px 0 30px}
.px-photo{position:relative;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--cb);box-shadow:0 18px 44px rgba(30,58,99,.12)}
.px-photo img{display:block;width:100%;height:auto}
.px-badge{position:absolute;left:18px;top:18px;background:var(--cn);color:#fff;border-radius:30px;padding:7px 16px;font-size:12px;font-weight:700;letter-spacing:.06em}
.px-badge.o{left:auto;right:18px;background:var(--co)}
.px-model{font-size:15px;font-weight:800;color:var(--co);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}
.px-title{font-size:40px;line-height:1.12;color:var(--cn);margin:0 0 16px}
.px-lead{font-size:16.5px;line-height:1.75;color:#4b5b75;margin:0 0 22px}
.px-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.px-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.px-mini div{background:#fff;border:1px solid var(--cb);border-radius:14px;padding:12px 14px}
.px-mini b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cg);margin-bottom:3px}
.px-mini span{font-size:14px;font-weight:700;color:var(--cn)}
.px-block{background:#fff;border:1px solid var(--cb);border-radius:24px;padding:34px;box-shadow:0 6px 20px rgba(30,58,99,.06);height:100%}
.px-block h3{font-size:24px;color:var(--cn);margin:0 0 20px;position:relative;padding-left:18px}
.px-block h3::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;background:var(--co)}
.px-feat{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.px-feat li{display:flex;gap:12px;align-items:flex-start;color:#34455f;line-height:1.55;font-size:15px}
.px-feat i{flex:none;width:22px;height:22px;border-radius:50%;background:#fff1ea;color:var(--co);display:grid;place-items:center;font-size:11px;margin-top:2px}
.px-spec{width:100%;border-collapse:collapse;font-size:15px}
.px-spec tr:nth-child(odd){background:#f6f8fd}
.px-spec th,.px-spec td{padding:13px 16px;text-align:left;vertical-align:top}
.px-spec th{width:38%;color:var(--cn);font-weight:700}
.px-spec td{color:#4b5b75}
.px-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.px-apps a{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:16/10;color:#fff}
.px-apps img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.px-apps a:hover img{transform:scale(1.08)}
.px-apps span{position:absolute;inset:auto 0 0 0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(5,15,35,.9));font-weight:700;font-size:14px}
.px-dl{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#0e2a55,#16417d);color:#fff;border-radius:26px;padding:34px 40px;position:relative;overflow:hidden}
.px-dl::after{content:'';position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(#ff7b12,transparent 70%);opacity:.5}
.px-dl h3{color:#fff;font-size:26px;margin:0 0 6px} .px-dl p{margin:0;color:#c7d6ee;max-width:560px;line-height:1.6}
.px-dl .px-actions{margin:0;position:relative;z-index:1}
.px-nav{display:flex;justify-content:space-between;gap:14px;margin-top:30px}
/* verticals */
.vx-hero{position:relative;padding:150px 0 80px;color:#fff;background:#071a33 url(../images/verticals/oil-gas.jpg) center/cover;overflow:hidden}
.vx-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,26,51,.94) 30%,rgba(7,26,51,.35))}
.vx-hero .container{position:relative}
.vx-hero h1{color:#fff;font-size:58px;line-height:1.05;margin:10px 0 16px;max-width:760px}
.vx-hero p{max-width:640px;color:#d3e0f5;font-size:18px;line-height:1.7}
.vx-stats{display:flex;gap:34px;margin-top:28px;flex-wrap:wrap}
.vx-stats b{display:block;font-size:34px;color:#ff9a45}.vx-stats span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#b8c9e4}
.vx-nav{position:sticky;top:78px;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--cb);padding:12px 0}
.vx-nav .cx-chips{margin:0;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin;padding-bottom:4px}
.vx-nav .cx-chips a{white-space:nowrap}
.vx-row{display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:center;padding:56px 0;scroll-margin-top:150px}
.vx-row:nth-child(even) .vx-img{order:2}
.vx-img{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 22px 50px rgba(18,51,97,.22);aspect-ratio:16/10}
.vx-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.vx-row:hover .vx-img img{transform:scale(1.05)}
.vx-num{position:absolute;left:20px;top:16px;font-size:54px;font-weight:800;color:rgba(255,255,255,.88);line-height:1}
.vx-body h2{font-size:36px;line-height:1.15;color:var(--cn);margin:6px 0 10px}
.vx-body .sh{font-weight:700;color:var(--co);margin:0 0 12px}
.vx-body p{color:#4b5b75;line-height:1.75;margin:0 0 18px}
.vx-prod{display:grid;gap:10px;margin-bottom:20px}
.vx-prod a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--cb);border-radius:14px;padding:8px 14px 8px 8px;transition:.25s;color:var(--cn)}
.vx-prod a:hover{border-color:#ff9b6e;transform:translateX(5px);box-shadow:0 8px 18px rgba(255,87,11,.12)}
.vx-prod img{width:64px;height:48px;object-fit:cover;border-radius:9px;background:#eef3fa}
.vx-prod b{display:block;font-size:14px}.vx-prod small{color:var(--cg);font-size:12.5px}
.vx-prod .pdf{margin-left:auto;font-size:11px;font-weight:800;color:#fff;background:var(--co);padding:4px 9px;border-radius:6px}
.vx-prod-wrap{margin-bottom:14px}
/* home verticals band */
.hv{padding:90px 0;background:linear-gradient(180deg,#071a33,#0d2a52);color:#fff;position:relative;overflow:hidden}
.hv::before{content:'';position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(#ff7b12,transparent 70%);opacity:.35}
.hv .cx-head h2{color:#fff}.hv .cx-head p{color:#b8c9e4}
.hv-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative}
.hv-tile{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;color:#fff;display:block;box-shadow:0 12px 28px rgba(0,0,0,.35)}
.hv-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hv-tile:hover img{transform:scale(1.1)}
.hv-tile span{position:absolute;inset:auto 0 0;padding:44px 14px 16px;background:linear-gradient(transparent,rgba(4,12,28,.95));font-weight:700;font-size:15px;line-height:1.25}
.hv-tile em{display:block;font-style:normal;font-size:11px;color:#ff9a45;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.hv-cta{text-align:center;margin-top:36px;position:relative}
.hp{padding:80px 0;background:#f6f8fd}
.hp .cx-grid{grid-template-columns:repeat(4,1fr)}
/* modal */
.dsm{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(5,15,35,.72);backdrop-filter:blur(5px)}
.dsm.open{display:flex}
.dsm-box{width:100%;max-width:520px;max-height:94vh;overflow:auto;background:#fff;border-radius:24px;padding:34px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:dsm .3s ease}
@keyframes dsm{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.dsm-x{position:absolute;right:16px;top:12px;border:0;background:#f2f6fc;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;color:var(--cn)}
.dsm h3{font-size:24px;color:var(--cn);margin:0 0 4px}.dsm .sub{color:var(--cg);font-size:14px;margin:0 0 18px;line-height:1.55}
.dsm label{display:block;font-size:12.5px;font-weight:700;color:var(--cn);margin:12px 0 5px}
.dsm input[type=text],.dsm input[type=email],.dsm input[type=tel]{width:100%;padding:12px 14px;border:1.5px solid #d5e0f1;border-radius:12px;font-size:15px;outline:0;transition:.2s}
.dsm input:focus{border-color:var(--co);box-shadow:0 0 0 4px rgba(252,82,32,.12)}
.dsm .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dsm .chk{display:flex;gap:10px;font-size:12.5px;color:var(--cg);line-height:1.5;margin:14px 0}
.dsm .msg{min-height:20px;font-size:13px;font-weight:600;margin-top:10px}.dsm .msg.err{color:#d93a3a}.dsm .msg.ok{color:#1a9b57}
.dsm .cx-btn{width:100%;justify-content:center;margin-top:8px}
.dsm .otp{letter-spacing:.5em;text-align:center;font-size:22px!important;font-weight:800}
.dsm .steps{display:flex;gap:6px;margin-bottom:18px}.dsm .steps i{flex:1;height:5px;border-radius:5px;background:#e3eaf6}.dsm .steps i.on{background:var(--co)}
.dsm .link{background:none;border:0;color:var(--co);font-weight:700;cursor:pointer;font-size:13px;padding:6px 0}
.dsm .demo{background:#fff7e6;border:1px dashed #ffb44d;border-radius:10px;padding:8px 12px;font-size:12px;color:#8a5a00;margin-bottom:12px}
@media(max-width:991px){.vx-row{grid-template-columns:1fr;gap:24px;padding:36px 0}.vx-row:nth-child(even) .vx-img{order:0}.vx-hero{padding:120px 0 60px}.vx-hero h1{font-size:38px}.hv-grid{grid-template-columns:repeat(2,1fr)}.hp .cx-grid{grid-template-columns:repeat(2,1fr)}.px-title{font-size:30px}.cx-head h2{font-size:30px}.vx-nav{top:64px}}
@media(max-width:575px){.px-mini{grid-template-columns:1fr}.dsm .two{grid-template-columns:1fr}.px-block{padding:22px}.px-dl{padding:26px}.hp .cx-grid{grid-template-columns:1fr}.dsm-box{padding:26px 20px}.hv-grid{gap:10px}}

/* v3: real product photos in vertical tiles */
.vx-prod{grid-template-columns:repeat(2,1fr)}
@media(max-width:575px){.vx-prod{grid-template-columns:1fr}}
.vx-prod a{padding:6px 12px 6px 6px}
.vx-prod img{width:84px;height:63px;object-fit:contain;background:#fff;border:1px solid #e6ecf5;border-radius:10px}
