/* =========================================================
   TechSolvePro — WordPress additions (loaded after style.css)
   ========================================================= */

/* Admin bar: keep the sticky header below it */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* Small phones: hide the header button (it is in the menu), full-width form button */
@media (max-width:640px){
  .header-cta{display:none}
  .tsp-contact .jet-form-builder__action-button,.tsp-contact .jet-form-builder__submit{width:100%}
}

/* Uploaded logos and icons */
.logo-img img,.logo .custom-logo{display:block;height:40px;width:auto;max-width:240px}
.ico img,.mega .mi img{width:24px;height:24px;object-fit:contain}
.mega .mi img{width:20px;height:20px}

/* Uploaded images in visual slots */
.proj .shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.proj:hover .shot img{transform:scale(1.05)}
.proj .shot a.open{color:#fff}
.case .shot img,.case-mini .shot img{width:100%;height:100%;object-fit:cover;display:block}
.visual img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.member .ph img{width:100%;height:100%;object-fit:cover;display:block}
.member h3 a:hover{color:var(--accent-2)}
.quote .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.quote .avatar{overflow:hidden}

/* Contact card intro */
.tsp-contact .form-intro{color:var(--muted);margin-bottom:30px}

/* ---------- JetFormBuilder: match the .field design ---------- */
.tsp-contact .jet-form-builder{margin:0}
.tsp-contact .jet-form-builder-row,
.tsp-contact .jet-form-builder__field-wrap{margin-bottom:0}
.tsp-contact .jet-form-builder-row{margin-bottom:20px;padding:0}
.tsp-contact .wp-block-columns{gap:16px;margin:0}
.tsp-contact .wp-block-columns .wp-block-column{min-width:0}
.tsp-contact .jet-form-builder__label{display:block;margin-bottom:8px}
.tsp-contact .jet-form-builder__label-text{font-weight:600;font-size:14.5px;color:#fff}
.tsp-contact .jet-form-builder__required{color:var(--accent-2);margin-left:2px}
.tsp-contact .jet-form-builder__desc{font-size:13.5px;color:var(--dim);margin-top:6px}
.tsp-contact input.jet-form-builder__field,
.tsp-contact select.jet-form-builder__field,
.tsp-contact textarea.jet-form-builder__field,
.tsp-contact .jet-form-builder input[type="text"],
.tsp-contact .jet-form-builder input[type="email"],
.tsp-contact .jet-form-builder input[type="tel"],
.tsp-contact .jet-form-builder select,
.tsp-contact .jet-form-builder textarea{width:100%;max-width:none;padding:14px 16px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg-2);font:inherit;font-size:16px;line-height:1.4;color:#fff;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.tsp-contact .jet-form-builder select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA6BF' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
.tsp-contact .jet-form-builder option{background:var(--surface);color:#fff}
.tsp-contact .jet-form-builder input::placeholder,.tsp-contact .jet-form-builder textarea::placeholder{color:var(--dim)}
.tsp-contact .jet-form-builder input:focus,.tsp-contact .jet-form-builder select:focus,.tsp-contact .jet-form-builder textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(124,92,255,.18)}
.tsp-contact .jet-form-builder textarea{min-height:150px;resize:vertical}
.tsp-contact .jet-form-builder .field-has-error input,
.tsp-contact .jet-form-builder .field-has-error select,
.tsp-contact .jet-form-builder .field-has-error textarea{border-color:var(--danger)}
.tsp-contact .jet-form-builder .error-message,
.tsp-contact .jet-form-builder__field-error{font-size:14px;color:var(--danger);margin-top:6px}
.tsp-contact .jet-form-builder__submit-wrap{margin-top:8px;padding:0;justify-content:flex-start}
.tsp-contact .jet-form-builder__action-button,
.tsp-contact .jet-form-builder__submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:600;font-size:15px;padding:14px 24px;border-radius:12px;border:1px solid transparent;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 10px 30px -12px rgba(124,92,255,.8);transition:transform .25s var(--ease),background .25s,box-shadow .25s}
.tsp-contact .jet-form-builder__action-button:hover,
.tsp-contact .jet-form-builder__submit:hover{background:#6B4BF5;transform:translateY(-2px)}
.tsp-contact .jet-form-builder-messages-wrap{margin-top:20px}
.tsp-contact .jet-form-builder-message{padding:16px 18px;border-radius:12px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--text)}
.tsp-contact .jet-form-builder-message--success{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.08);color:#fff}
.tsp-contact .jet-form-builder-message--error{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.08)}

/* ---------- Default page / post content ---------- */
.entry{max-width:760px}
.entry>*+*{margin-top:1.1em}
.entry h2{font-size:32px;margin-top:1.6em}
.entry h3{font-size:24px;margin-top:1.4em}
.entry p,.entry li{color:var(--muted);font-size:18px}
.entry a{color:var(--accent-2);text-decoration:underline;text-underline-offset:3px}
.entry ul,.entry ol{padding-left:1.3em}
.entry img{max-width:100%;height:auto;border-radius:var(--r)}
.entry blockquote{border-left:3px solid var(--accent);padding-left:18px;color:var(--text)}
.post-list{display:grid;gap:20px}
.post-list .card{padding:28px}
.post-list h2{font-size:24px;margin-bottom:8px}
.post-list h2 a:hover{color:var(--accent-2)}
.post-list .meta{font-size:14px;color:var(--dim);margin-bottom:10px}
.pagination{margin-top:40px;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line-2);border-radius:10px;color:var(--muted)}
.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}

/* Screen reader text (WordPress) */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
