/* =========================================================================
   Shiv Shakti — small additions the dynamic storefront needs.
   Everything here reuses the colours / fonts already defined in common.css;
   the visual design of the static pages is untouched.
   ========================================================================= */

/* header badges hide when empty */
.ss-badge[hidden]{display:none !important;}

/* honeypot field used by the AJAX forms — off-screen for people, visible to bots */
.hp-field{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* inline form error (AJAX forms) */
.form-error{margin:14px 0 0;color:#a1281f;font-size:14px;font-weight:600;line-height:1.5;}
.form-error:empty{display:none;}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#c0392b !important;}
.field-err{display:block;margin-top:6px;color:#a1281f;font-size:12.5px;font-weight:600;}
.field-err:empty{display:none;}

/* buttons while a request is in flight */
.is-loading{opacity:.65;pointer-events:none;}
button[disabled]{cursor:not-allowed;}

/* out-of-stock note on cards / product page */
.stock-note{display:inline-block;margin-top:6px;color:#a1281f;font-size:12.5px;font-weight:700;letter-spacing:.02em;}
.card .stock-note{margin:0 0 6px;}

/* shop: pager rendered as real links (crawlable) */
.pagination a{text-decoration:none;}
.pagination .gap{display:inline-flex;align-items:center;padding:0 4px;color:var(--ink-500,#8a7a70);}

/* shop: empty result */
.shop-empty{padding:56px 16px;text-align:center;color:var(--ink-700,#5b4a44);}
.shop-empty h3{font-family:'Cormorant Garamond',serif;font-size:28px;margin:0 0 8px;color:var(--maroon-700,#6b0f1a);}
.shop-empty a{color:var(--maroon-700,#6b0f1a);font-weight:600;}

/* checkout / account inline messages */
.ss-msg{margin:12px 0 0;font-size:14px;font-weight:600;line-height:1.5;}
.ss-msg.err{color:#a1281f;}
.ss-msg.ok{color:#1f6b3a;}
.ss-msg:empty{display:none;}

/* variant chips that are sold out */
.size-chip.is-soldout{opacity:.5;text-decoration:line-through;}

/* ---- error pages: search + popular links ---- */
.err-search{display:flex;gap:8px;justify-content:center;max-width:520px;margin:22px auto 6px}
.err-search input{flex:1;min-width:0;padding:12px 16px;border:1px solid #d9d1c6;border-radius:10px;font:inherit;background:#fff}
.err-links{text-align:center;margin:14px 0 0;color:#7b6f66}
.err-links a{display:inline-block;margin:4px 6px;padding:4px 12px;border:1px solid #e2d3aa;border-radius:20px;background:#fff8e6;color:#5b0f19;font-weight:600}
.err-extra{padding:0 0 60px;background:#faf5ea;text-align:center}

/* ---- image captcha on the public forms ----
   label + box to type in on the left, the picture on the right; they stack
   (picture first) once there is no room for two columns. */
.captcha-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;margin:18px 0 16px}
.captcha-ask{min-width:0}
.captcha-row .lbl{display:block;font-weight:600;margin-bottom:8px}
.captcha-box{display:flex;gap:10px;align-items:center}
.captcha-box img{display:block;border:1px solid #d9d1c6;border-radius:10px;background:#faf4e8;cursor:pointer;max-width:100%;height:auto}
.captcha-refresh{flex:none;width:44px;height:44px;border:1px solid #d9d1c6;border-radius:10px;background:#fff;color:#5b0f19;cursor:pointer;font-size:16px}
.captcha-refresh:hover{background:#fff8e6;border-color:#c9a34a}
.captcha-row input[type=text]{width:100%;padding:12px 14px;border:1px solid #d9d1c6;border-radius:10px;font:600 16px/1.25 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;background:#fff}
.captcha-row input[aria-invalid=true]{border-color:#b3261e}
@media (max-width:620px){.captcha-row{grid-template-columns:1fr;gap:12px}.captcha-box{order:-1}}
