/* =========================================================
   INFRACORE PRICING + PROJECT ESTIMATOR
   ========================================================= */
.pricing-hero{background:linear-gradient(135deg,#f7f9fb 0%,#fff 60%,#f5f7f9 100%)}
.pricing-section{background:#fff}
.pricing-toolbar{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}
.pricing-toolbar h2{font:800 clamp(40px,5vw,64px)/1 Manrope;letter-spacing:-.055em;color:var(--ink);margin:18px 0 0}
.pricing-toolbar h2 span{color:var(--orange)}
.currency-switcher{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.currency-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#7c8996;font-weight:800}
.currency-options{display:flex;gap:6px;padding:5px;border:1px solid #dce3e8;background:#f7f9fb;border-radius:999px}
.currency-btn{border:0;background:transparent;color:#5b6b7b;padding:9px 14px;border-radius:999px;font:800 11px Manrope;cursor:pointer;transition:.2s ease}
.currency-btn:hover{color:var(--navy)}
.currency-btn.active{background:var(--navy);color:#fff;box-shadow:0 8px 18px rgba(34,52,75,.15)}
.pricing-grid-dynamic{align-items:stretch}
.pricing-package-card{display:flex;flex-direction:column;min-height:405px}
.pricing-package-card .tag{min-height:18px}
.pricing-package-card h3{margin-top:34px}
.pricing-package-card .price{margin-bottom:8px}
.pricing-package-card p{min-height:62px}
.pricing-package-card ul{margin-top:auto}
.price-card-select{position:absolute;right:22px;top:20px;border:1px solid #dfe5ea;background:rgba(255,255,255,.92);color:#607081;border-radius:999px;padding:7px 10px;font:800 9px Manrope;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;opacity:0;transform:translateY(-3px);transition:.2s ease}
.price-card:hover .price-card-select,.price-card.selected .price-card-select,.price-card.featured .price-card-select{opacity:1;transform:none}
.price-card-select:hover{border-color:var(--orange);color:var(--orange)}
.price-card.featured .price-card-select{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff}
.price-card.selected{outline:2px solid var(--orange);outline-offset:3px}
.price-card.selected:not(.featured){box-shadow:0 20px 45px rgba(211,84,0,.10)}
.price-card.featured.selected{outline-color:#fff}
.price-select-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--orange);margin-right:5px}
.estimate-success{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid #cfe5d0;background:#f4fbf4;border-radius:16px;color:#315e35;margin-bottom:22px}
.estimate-success>span{width:30px;height:30px;border-radius:50%;background:#58ad59;color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.estimate-success strong{display:block;font:800 14px Manrope}.estimate-success small{font-size:12px}
.estimate-errors{padding:16px 18px;border:1px solid #f0caca;background:#fff6f6;border-radius:14px;color:#8f3636;margin-bottom:22px}.estimate-errors ul{margin:8px 0 0;padding-left:18px}
.estimator-section{background:#f7f9fb}
.estimator-intro{max-width:820px;margin-bottom:48px}
.estimator-intro h2{font:800 clamp(44px,5vw,68px)/.98 Manrope;letter-spacing:-.055em;color:var(--ink);margin:18px 0}
.estimator-intro h2 span{color:var(--orange)}
.estimator-intro p{max-width:760px;color:var(--muted);font-size:17px;line-height:1.75}
.estimate-form{background:#fff;border:1px solid #dfe5ea;border-radius:28px;padding:38px;box-shadow:0 20px 55px rgba(34,52,75,.06)}
.estimate-section-head{display:flex;align-items:center;gap:15px;border-top:1px solid #e4e9ed;padding-top:28px;margin-top:32px;margin-bottom:22px}
.estimate-section-head:first-child{border-top:0;padding-top:0;margin-top:0}
.estimate-section-head>span{width:38px;height:38px;border-radius:50%;background:#fff3e9;color:var(--orange);display:grid;place-items:center;font:800 10px Manrope}
.estimate-section-head strong{display:block;font:800 18px Manrope;color:var(--ink)}
.estimate-section-head small{display:block;color:#85919d;font-size:11px;margin-top:3px}
.form-grid{display:grid;gap:17px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid label{display:block;min-width:0}.form-grid label.full{grid-column:1/-1}
.form-grid label>span{display:block;font:800 10px Manrope;letter-spacing:.07em;text-transform:uppercase;color:#617180;margin-bottom:8px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d8e0e6;background:#fbfcfd;color:#26384b;border-radius:12px;padding:12px 13px;font:500 13px 'DM Sans',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 4px rgba(211,84,0,.08)}
.form-grid textarea{resize:vertical;min-height:104px;line-height:1.55}
.form-grid select{appearance:auto}
.check-section{display:grid;gap:25px}.check-group>strong{display:block;font:800 11px Manrope;letter-spacing:.06em;text-transform:uppercase;color:#617180;margin-bottom:10px}
.check-grid{display:flex;flex-wrap:wrap;gap:8px}
.check-pill{position:relative;display:inline-flex;align-items:center}
.check-pill input{position:absolute;opacity:0;pointer-events:none}
.check-pill span{display:inline-flex;align-items:center;padding:9px 11px;border:1px solid #dce3e8;border-radius:999px;background:#fafbfc;color:#5b6c7c;font-size:11px;cursor:pointer;transition:.2s ease}
.check-pill input:checked + span{border-color:#efb183;background:#fff4ec;color:#9d4e17;box-shadow:inset 0 0 0 1px rgba(211,84,0,.08)}
.estimate-submit-row{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:35px;padding-top:28px;border-top:1px solid #e4e9ed}
.estimate-submit-row strong{display:block;font:800 16px Manrope;color:var(--ink)}.estimate-submit-row span{display:block;color:#87939e;font-size:11px;margin-top:4px}
.estimate-submit{border:0;cursor:pointer;white-space:nowrap}
@media(max-width:900px){.pricing-toolbar{display:block}.currency-switcher{align-items:flex-start;margin-top:25px}.pricing-grid-dynamic{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pricing-toolbar h2{font-size:44px}.currency-options{width:100%;justify-content:space-between}.currency-btn{flex:1;padding:9px 7px}.pricing-grid-dynamic{grid-template-columns:1fr}.pricing-package-card{min-height:360px}.price-card-select{opacity:1;transform:none}.estimate-form{padding:24px 18px;border-radius:22px}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.estimate-section-head{margin-top:28px}.estimate-submit-row{display:block}.estimate-submit{width:100%;margin-top:18px}.check-grid{display:grid;grid-template-columns:1fr}.check-pill span{width:100%}}

/* Form create-feedback states */
.estimate-form.is-submitting { opacity: .72; pointer-events: none; }
.estimate-submit.is-loading { position: relative; }
.estimate-submit.is-loading::after { content: ''; width: 14px; height: 14px; margin-left: 9px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; display: inline-block; vertical-align: -2px; animation: estimateSpin .7s linear infinite; }
@keyframes estimateSpin { to { transform: rotate(360deg); } }
