.varc-calculator, .varc-calculator * { box-sizing: border-box; }
.varc-calculator { --varc-dark:#15100b; --varc-gold:#b98a3f; --varc-soft:#fffaf0; --varc-border:rgba(185,138,63,.28); --varc-muted:#75644f; font-family: inherit; color: var(--varc-dark); }
.varc-shell { position: relative; overflow: hidden; max-width: 1080px; margin: 0 auto; padding: 34px; border-radius: 28px; background: radial-gradient(circle at 10% 0%, rgba(185,138,63,.18), transparent 28%), linear-gradient(135deg,#fffaf0 0%,#fff 46%,#fbf0dd 100%); border: 1px solid var(--varc-border); box-shadow: 0 18px 50px rgba(36,24,12,.10); }
.varc-shell:before { content:""; position:absolute; inset:-120px auto auto -90px; width:250px; height:250px; border-radius:50%; background:rgba(185,138,63,.12); filter: blur(3px); }
.varc-shell:after { content:"ॐ"; position:absolute; right: 28px; top: 18px; font-size: 110px; line-height:1; color: rgba(185,138,63,.08); pointer-events:none; }
.varc-heading { position: relative; z-index: 1; text-align:center; max-width: 780px; margin: 0 auto 26px; }
.varc-heading .varc-topline { display:inline-block; width: 82px; height: 1px; background: linear-gradient(90deg, transparent, var(--varc-gold), transparent); vertical-align: middle; }
.varc-symbol { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; margin:0 12px; border-radius:50%; border:1px solid var(--varc-border); color:var(--varc-gold); background: rgba(255,255,255,.72); font-size:20px; }
.varc-heading h2 { margin: 12px 0 8px; font-size: clamp(26px, 4vw, 44px); line-height: 1.08; font-weight: 400; letter-spacing: -.02em; color: var(--varc-dark); }
.varc-heading p { margin: 0; color: var(--varc-muted); font-size: 16px; line-height: 1.7; }
.varc-form { position: relative; z-index: 2; background: rgba(255,255,255,.68); border: 1px solid rgba(185,138,63,.20); border-radius: 22px; padding: 24px; backdrop-filter: blur(12px); }
.varc-form-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.varc-field { display:block; position:relative; margin:0; }
.varc-field.varc-wide { grid-column: 1 / -1; }
.varc-field span { display:block; margin:0 0 7px; font-size: 13px; font-weight: 600; color: #473829; letter-spacing: .01em; }
.varc-field span em { color:#9f2f26; font-style:normal; }
.varc-field input, .varc-field select { width:100%; height: 50px; border-radius: 14px; border: 1px solid rgba(71,56,41,.18); background: #fff; padding: 0 14px; color: var(--varc-dark); font-size: 15px; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.varc-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #9a6d31 50%), linear-gradient(135deg, #9a6d31 50%, transparent 50%); background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 36px; }
.varc-field input:focus, .varc-field select:focus { border-color: rgba(185,138,63,.8); box-shadow: 0 0 0 4px rgba(185,138,63,.11); }
.varc-field input.varc-error, .varc-field select.varc-error { border-color:#b3261e; background:#fff7f6; }
.varc-field small { display:block; margin-top: 7px; color: #8a765d; font-size: 12px; }
.varc-place-suggestions { display:none; position:absolute; z-index: 30; left:0; right:0; top: 79px; background:#fff; border:1px solid var(--varc-border); border-radius:16px; box-shadow:0 18px 42px rgba(40,24,8,.16); overflow:hidden; max-height: 280px; overflow-y:auto; }
.varc-place-suggestions ul { list-style:none; padding:0; margin:0; }
.varc-place-suggestions li { padding: 12px 14px; cursor:pointer; border-bottom: 1px solid rgba(185,138,63,.14); }
.varc-place-suggestions li:last-child { border-bottom:0; }
.varc-place-suggestions li:hover, .varc-place-suggestions li:focus { background:#fff8ea; }
.varc-place-suggestions strong { display:block; font-size: 14px; color:#2f251b; }
.varc-place-suggestions span { display:block; font-size: 12px; line-height:1.4; color:#7e6e5b; margin-top:2px; }
.varc-loading-mini { padding: 12px 14px; color:#7e6e5b; font-size: 13px; }
.varc-note { margin-top: 16px; border-left: 3px solid var(--varc-gold); background: rgba(185,138,63,.08); border-radius: 0 14px 14px 0; padding: 12px 14px; color:#6e5940; font-size: 13px; line-height: 1.55; }
.varc-submit { margin-top: 18px; width: 100%; min-height: 54px; border: 0; border-radius: 999px; background: linear-gradient(135deg,#15100b,#4a3520); color:#fff !important; font-size: 15px; font-weight: 700; letter-spacing:.02em; cursor:pointer; box-shadow: 0 12px 26px rgba(21,16,11,.20); transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
.varc-submit:hover { transform: translateY(-1px); box-shadow: 0 16px 30px rgba(21,16,11,.25); }
.varc-submit:disabled { opacity:.7; cursor:wait; transform:none; }
.varc-form-status { min-height: 22px; margin-top: 12px; text-align:center; font-size: 14px; }
.varc-error-text { color:#b3261e; font-weight:600; }
.varc-processing { color:#7a5528; font-weight:600; }
.varc-result-target { margin-top: 26px; }
.varc-result-wrap { animation: varcFade .35s ease both; }
@keyframes varcFade { from { opacity:0; transform: translateY(12px); } to { opacity:1; transform:none; } }
.varc-result-hero { border-radius: 22px; padding: 24px; background: linear-gradient(135deg,#1c140d,#51391f); color:#fff; box-shadow: 0 16px 38px rgba(21,16,11,.18); }
.varc-kicker { display:inline-block; margin-bottom: 9px; color:#f4d190; text-transform:uppercase; font-size: 11px; letter-spacing:.16em; }
.varc-result-hero h3 { margin:0 0 8px; color:#fff; font-size: clamp(24px, 3vw, 36px); font-weight:400; line-height:1.14; }
.varc-result-hero p { margin:0; color:rgba(255,255,255,.78); line-height:1.65; }
.varc-mini-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:12px; margin-top:16px; }
.varc-mini-grid div { background:#fff; border:1px solid var(--varc-border); border-radius:18px; padding:14px; }
.varc-mini-grid strong { display:block; font-size:12px; color:#7b654b; margin-bottom:4px; }
.varc-mini-grid span { display:block; font-size:15px; color:#2e241a; font-weight:700; }
.varc-warning-box { margin-top: 16px; border:1px solid rgba(179,45,46,.22); background:#fff8f6; border-radius: 18px; padding: 16px; color:#5f2d28; }
.varc-warning-box p { margin:6px 0 0; }
.varc-card { margin-top: 16px; border-radius:22px; background:#fff; border:1px solid var(--varc-border); padding:22px; box-shadow: 0 10px 28px rgba(36,24,12,.07); }
.varc-feature-card { background: linear-gradient(135deg,#fff,#fff8ea); }
.varc-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.varc-card-head span { display:inline-flex; align-items:center; min-height:28px; padding: 0 12px; border-radius:999px; background:rgba(185,138,63,.12); color:#7b551f; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.varc-card-head em { color:#8a7054; font-size:12px; font-style:normal; }
.varc-card h4, .varc-products-section h4 { margin:0 0 10px; font-size: 22px; font-weight: 500; color:#21170f; }
.varc-card p { margin:8px 0; color:#5e4b37; line-height:1.68; }
.varc-caution-list { margin: 13px 0 0; padding-left: 18px; color:#7f4d28; line-height:1.6; }
.varc-list-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:12px; }
.varc-pill-card { min-height:118px; border-radius:18px; border:1px solid rgba(185,138,63,.20); background:#fffaf2; padding:16px; }
.varc-pill-card strong { display:block; color:#241a12; font-size:16px; margin-bottom:8px; }
.varc-pill-card span { display:block; color:#6f5a42; font-size:13px; line-height:1.55; }
.varc-consult-box { margin-top:16px; border-radius:20px; padding:18px; background:#14100c; color:#fff; }
.varc-consult-box strong { display:block; color:#f0c77d; margin-bottom:8px; }
.varc-consult-box p { margin:0 0 8px; color:rgba(255,255,255,.78); line-height:1.65; }
.varc-consult-box .varc-cta-text { margin:0; color:#fff; font-weight:600; }
.varc-products-section { margin-top:16px; }
.varc-product-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:14px; }
.varc-product-card { display:block; text-decoration:none !important; background:#fff; border:1px solid var(--varc-border); border-radius:20px; overflow:hidden; color:#1d150f; box-shadow:0 10px 26px rgba(36,24,12,.06); transition: transform .2s ease, box-shadow .2s ease; }
.varc-product-card:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(36,24,12,.12); }
.varc-product-image { aspect-ratio: 1 / .78; display:flex; align-items:center; justify-content:center; background:#fff8ec; overflow:hidden; }
.varc-product-image img { width:100%; height:100%; object-fit:cover; display:block; }
.varc-product-body { padding:14px; }
.varc-product-title { font-size:14px; line-height:1.4; font-weight:700; color:#241a12; }
.varc-product-price { margin-top:7px; color:#8b632c; font-weight:700; }
.varc-product-tag { display:inline-flex; margin-top:10px; padding:4px 9px; border-radius:999px; background:#f6ecd9; color:#7a5528; font-size:11px; font-weight:700; }
.varc-empty-products { border:1px dashed rgba(185,138,63,.4); border-radius:16px; padding:14px; color:#7d684d; background:rgba(255,255,255,.6); font-size:14px; }
@media (max-width: 860px) { .varc-shell { padding:22px; border-radius:22px; } .varc-form-grid, .varc-mini-grid, .varc-list-grid, .varc-product-grid { grid-template-columns: 1fr; } .varc-form { padding:18px; } .varc-heading .varc-topline { width:54px; } .varc-card-head { align-items:flex-start; flex-direction:column; } }
@media (max-width: 480px) { .varc-shell { padding:16px; } .varc-heading h2 { font-size:28px; } .varc-symbol { width:34px; height:34px; margin:0 6px; } .varc-heading .varc-topline { width:42px; } .varc-field input, .varc-field select { height:48px; } }
.varc-product-match{margin-top:8px;font-size:12px;line-height:1.4;color:#8a6a4d;opacity:.85}
