/* ECOYAR laser/CNC services module */
.ecnc { --g:#00753B; --g2:#005c2e; --cream:#f7f1e3; --ink:#1d1d1b; --mut:#5d625f; --line:#e3e0d6; color:var(--ink); font-size:16px; line-height:1.55; max-width:1100px; margin:0 auto 40px; }
.ecnc h2 { font-size:28px; margin:0 0 12px; line-height:1.2; }
.ecnc h3 { margin:0 0 12px; font-size:20px; line-height:1.25; }
.ecnc p { margin:0 0 12px; }
.ecnc a { color:var(--g); }
.ecnc b { font-weight:700; }

.ecnc-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:0; background:linear-gradient(135deg, var(--cream) 0%, #efe8d8 55%, #e7f0ea 100%); border-radius:18px; overflow:hidden; margin:0 0 28px; min-height:360px; border:1px solid var(--line); }
.ecnc-hero-copy { padding:36px 34px; display:flex; flex-direction:column; justify-content:center; }
.ecnc-kicker { align-self:flex-start; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--g); border:1px solid var(--g); border-radius:999px; padding:3px 12px; margin-bottom:14px; }
.ecnc-hero h2 { font-size:34px; margin-bottom:12px; }
.ecnc-lead { font-size:17px; color:#333; max-width:38em; }
.ecnc-trust { list-style:none; margin:8px 0 18px; padding:0; display:grid; gap:8px; }
.ecnc-trust li { padding:8px 12px; background:rgba(255,255,255,.72); border:1px solid rgba(0,117,59,.12); border-radius:10px; font-size:14.5px; }
.ecnc-trust strong { color:var(--g2); }
.ecnc-hero-cta { display:flex; flex-wrap:wrap; gap:10px; margin:4px 0 10px; }
.ecnc-hero-min { margin:0; }
.ecnc-hero-media { display:grid; grid-template-rows:1fr 1fr; gap:8px; padding:12px; min-height:320px; background:#1d1d1b; }
.ecnc-shot { margin:0; position:relative; overflow:hidden; border-radius:12px; min-height:140px; }
.ecnc-shot img { width:100%; height:100%; object-fit:cover; display:block; }
.ecnc-shot figcaption { position:absolute; left:8px; bottom:8px; padding:2px 8px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.55); border-radius:4px; }

.ecnc-compare { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0 0 28px; }
.ecnc-cmp ul { margin:8px 0 0; padding-left:18px; color:var(--mut); }
.ecnc-cmp p { color:#333; }

.ecnc-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; margin:0 0 28px; align-items:start; }
.ecnc-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 20px; box-shadow:0 4px 14px rgba(29,29,27,.06); }
.ecnc label { display:block; font-size:13px; font-weight:600; color:var(--mut); margin:0 0 4px; }
.ecnc .ecnc-field { margin:0 0 12px; }
.ecnc input[type=text], .ecnc input[type=email], .ecnc input[type=tel], .ecnc input[type=number], .ecnc select, .ecnc textarea {
  width:100%; max-width:100%; box-sizing:border-box; min-height:42px; border:1px solid #cfd6d2; border-radius:10px; padding:8px 12px; font-size:15px; background:#fff;
}
.ecnc textarea { min-height:90px; resize:vertical; }
.ecnc-radios, .ecnc-checks { display:flex; flex-wrap:wrap; gap:8px 14px; }
.ecnc-radios label, .ecnc-checks label { font-weight:500; color:var(--ink); display:inline-flex; align-items:center; gap:6px; margin:0; }
.ecnc-agree { display:flex; gap:8px; align-items:flex-start; margin:0 0 14px; font-weight:500; color:var(--ink); font-size:14px; }
.ecnc-agree input { margin-top:4px; }
.ecnc-out { background:var(--cream); border-radius:14px; padding:16px; margin-top:8px; }
.ecnc-out b { display:block; font-size:26px; color:var(--g); margin:4px 0 8px; }
.ecnc-out .ecnc-warn { color:#9a3412; font-weight:700; font-size:14px; }
.ecnc-note { font-size:13px; color:var(--mut); }
.ecnc-file-hint { margin:6px 0 0; }
.ecnc-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; border-radius:10px; border:2px solid var(--g); background:var(--g); color:#fff !important; font-weight:600; font-size:16px; cursor:pointer; text-decoration:none !important; -webkit-text-fill-color:#fff; }
.ecnc-btn:hover { background:var(--g2); border-color:var(--g2); }
.ecnc-btn:disabled { opacity:.55; cursor:wait; }
.ecnc-btn-o { background:transparent; color:var(--g) !important; -webkit-text-fill-color:var(--g); }
.ecnc-btn-o:hover { background:rgba(0,117,59,.08); }

.ecnc-strip { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:16px; margin:0 0 28px; }
.ecnc-ol { margin:0; padding-left:20px; }
.ecnc-ol li { margin:0 0 8px; }
.ecnc-minwhy { background:linear-gradient(180deg, #fff 0%, #faf7f0 100%); border-color:#d9d2c3; }
.ecnc-b2b { border-color:#c5d9cc; background:linear-gradient(180deg, #fff 0%, #f3f8f5 100%); }

.ecnc-jobs { margin:0 0 28px; }
.ecnc-jobs-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.ecnc-jobs-list li { padding:12px 14px; background:var(--cream); border-radius:12px; font-size:14.5px; }

.ecnc-req { margin:0 0 28px; }
.ecnc-req details, .ecnc-faq details { border-top:1px solid #e3e8e5; padding:10px 0; }
.ecnc-req summary, .ecnc-faq summary { cursor:pointer; font-weight:700; }
.ecnc-req ul { margin:8px 0 0; padding-left:18px; }
.ecnc-faq { margin:0 0 20px; }
.ecnc-faq p { margin:8px 0 0; color:#333; font-size:15px; }
.ecnc-table { width:100%; border-collapse:collapse; font-size:14px; margin:8px 0 0; }
.ecnc-table th, .ecnc-table td { border-bottom:1px solid #eeebe3; padding:8px 10px; text-align:left; }
.ecnc-table th { background:var(--cream); color:var(--mut); }
.ecnc-ok { background:#e8f3ec; border:1px solid #b7d8c3; border-radius:12px; padding:14px 16px; color:var(--g2); font-weight:600; }
.ecnc-err { background:#fef2f2; border:1px solid #fecaca; border-radius:12px; padding:12px 14px; color:#991b1b; }

.ecnc-hide-shop .product-grid, .ecnc-hide-shop .products-list, .ecnc-hide-shop .catalog-list,
.ecnc-hide-shop .product-col .pagination, .ecnc-hide-shop .sort-panel, .ecnc-hide-shop .filter-panel,
.ecnc-hide-shop .podcatalog-list, .ecnc-hide-shop .cid-category,
.ecnc-hide-shop #filter-well, .ecnc-hide-shop .filter-well, .ecnc-hide-shop #faset-filter,
.ecnc-hide-shop .faset-filter-block-wrapper, .ecnc-hide-shop .mobile-filter-wrapper,
.ecnc-hide-shop .eyc-toolbar, .ecnc-hide-shop .eyc-bar, .ecnc-hide-shop .btn-sort,
.ecnc-hide-shop .left-filter, .ecnc-hide-shop .product-empty,
.ecnc-hide-shop .alert, .ecnc-hide-shop .no-products,
.ecnc-hide-shop h4:has(+ .product-grid),
html.ecnc-hide-shop .center-block > .row:has(.filter-panel) { display:none !important; }
/* PHPShop empty-catalog notice under filters */
html.ecnc-hide-shop .center-block h4 { display:none !important; }

@media (max-width:900px) {
  .ecnc-strip { grid-template-columns:1fr; }
  .ecnc-jobs-list { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .ecnc-hero, .ecnc-grid, .ecnc-compare { grid-template-columns:1fr; }
  .ecnc-hero h2 { font-size:26px; }
  .ecnc-hero-copy { padding:22px 18px; }
  .ecnc-hero-media { min-height:220px; grid-template-columns:1fr 1fr; grid-template-rows:180px; }
  .ecnc-hero-cta .ecnc-btn { flex:1 1 auto; }
}
