/* 
 * SILCAP Global Components
 * L4: Shared Components (Buttons, Forms)
 */

/* BUTTONS */
body.v6-premium-refinement .v6p-btn { 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  height: 44px; /* Minimum interactive target approximately 44px */
  padding: 0 24px;
  font-size: var(--font-size-sm); 
  font-weight: var(--font-weight-bold); 
  text-transform: uppercase; 
  letter-spacing: 0.08em;
  border-radius: var(--radius-sm); 
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

body.v6-premium-refinement .v6p-btn-primary {
  background: var(--color-brand-blue); 
  color: var(--color-surface); 
  border: 1px solid var(--color-brand-blue);
}

body.v6-premium-refinement .v6p-btn-primary:hover, 
body.v6-premium-refinement .v6p-btn-primary:focus-visible {
  background: #1E40AF; /* hover blue */
  border-color: #1E40AF;
}

body.v6-premium-refinement .v6p-btn-outline {
  background: transparent; 
  color: var(--color-surface); 
  border: 1px solid rgba(255,255,255,0.65);
}

body.v6-premium-refinement .v6p-btn-outline:hover, 
body.v6-premium-refinement .v6p-btn-outline:focus-visible {
  background: rgba(255,255,255,0.1); 
  border-color: var(--color-surface);
}

body.v6-premium-refinement .v6p-btn-outline-dark {
  background: transparent;
  color: var(--v6p-navy, #0F172A);
  border: 1px solid var(--v6p-gray-300, #CBD5E1);
}

body.v6-premium-refinement .v6p-btn-outline-dark:hover,
body.v6-premium-refinement .v6p-btn-outline-dark:focus-visible {
  background: var(--v6p-gray-50, #F8FAFC);
  color: var(--v6p-navy, #0F172A);
  border-color: var(--v6p-blue, #0D63E5);
}

body.v6-premium-refinement .v6p-btn.v6p-btn-outline-dark:focus-visible {
  box-shadow:
    0 0 0 2px var(--v6p-white, #FFFFFF),
    0 0 0 5px var(--v6p-blue, #0D63E5);
}

/* Icons within buttons */
body.v6-premium-refinement .v6p-btn .v6p-action-icon {
  margin-left: 8px;
  width: 16px;
  height: 16px;
}

/* FORMS (Basic Shared Primitives) */
body.v6-premium-refinement .form-group {
  margin-bottom: var(--spacing-4);
}

body.v6-premium-refinement .form-label {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-2);
  color: var(--color-brand-navy);
}

body.v6-premium-refinement .form-input,
body.v6-premium-refinement .form-select,
body.v6-premium-refinement .form-textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-family-sans);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  background: var(--color-surface);
  transition: border-color 0.2s;
}

body.v6-premium-refinement .form-input:focus,
body.v6-premium-refinement .form-select:focus,
body.v6-premium-refinement .form-textarea:focus {
  outline: none;
  border-color: var(--color-brand-blue);
  box-shadow: 0 0 0 3px rgba(26, 86, 219, 0.1);
}
/* === SILCAP-VSH-02B-COMPONENTS : START ===
   Shared visual hardening: one control grammar + one photographic media grammar.
   Does not alter content, claims, image source, object-position, aspect ratio or layout dimensions. */
body.v6-premium-refinement {
  --silcap-vsh-radius-control: 8px;
  --silcap-vsh-radius-media: 12px;
}

body.v6-premium-refinement .v6p-btn {
  min-height: 46px !important;
  height: auto !important;
  padding: 10px 22px !important;
  border-radius: var(--silcap-vsh-radius-control) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
}

/* Govern only photographic / editorial media owners proven in the 01B visual inventory.
   Full-bleed homepage hero background is intentionally excluded. */
body.v6-premium-refinement main .vm2-media > img,
body.v6-premium-refinement main .v6p-app-card > img,
body.v6-premium-refinement main .v6p-article-img > img,
body.v6-premium-refinement main .v6p-domain-r7-image > img,
body.v6-premium-refinement main .ab1-route-media > img,
body.v6-premium-refinement main .cap-page-card-image > img,
body.v6-premium-refinement main .po-manufacturing__media > img,
body.v6-premium-refinement main .rf7-guide-media > img,
body.v6-premium-refinement main .po-programme__media > img,
body.v6-premium-refinement main .v6p-mfg-process-card > img,
body.v6-premium-refinement main .ab1-hero-media > img,
body.v6-premium-refinement main .ab1-footprint-media > img,
body.v6-premium-refinement main .ab1-quality-media > img,
body.v6-premium-refinement main .app1-hero-visual img,
body.v6-premium-refinement main .cap-page-hero-visual img,
body.v6-premium-refinement main .se-hero-visual-col img,
body.v6-premium-refinement main .cap-detail-hero-visual-col img,
body.v6-premium-refinement main .ct1-hero-media img,
body.v6-premium-refinement main .po-hero-media img,
body.v6-premium-refinement main .po-applications-bridge__media img,
body.v6-premium-refinement main .bc1-hero-visual img,
body.v6-premium-refinement main .cpl1-hero-media img,
body.v6-premium-refinement main .ind1-hero-visual img,
body.v6-premium-refinement main .kit1-hero-visual img,
body.v6-premium-refinement main .oem4-hero-media img,
body.v6-premium-refinement main .ql2-hero-media img,
body.v6-premium-refinement main .rf7-hero-media img,
body.v6-premium-refinement main .po-portfolio__picture img {
  border-radius: var(--silcap-vsh-radius-media) !important;
}
/* === SILCAP-VSH-02B-COMPONENTS : END === */
