/* Supplemental rules ONLY for markup that has no counterpart in the uploaded
   templates: dropdown submenus, footer social icons and flash messages. These
   classes do not exist in the original stylesheets, so nothing is overridden. */
.nav-item{ position:relative; }
.nav-submenu{
  display:none; position:absolute; top:100%; left:0; margin-top:14px;
  background:var(--surface); border:1px solid var(--border); border-radius:10px;
  padding:8px; min-width:200px; box-shadow:0 20px 40px -20px rgba(0,0,0,.6); z-index:120;
}
.nav-item:hover .nav-submenu{ display:block; }
.nav-submenu a{ display:block; padding:9px 12px; border-radius:6px; white-space:nowrap; }
.nav-submenu a:hover{ background:var(--surface-2); }

.footer-social{ display:flex; gap:12px; margin-top:16px; }
.footer-social a{
  width:32px; height:32px; border:1px solid var(--border); border-radius:8px;
  display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--text-muted);
}
.footer-social a:hover{ color:var(--accent); border-color:var(--accent-dim); }

.site-message{
  background:var(--accent-glow); border:1px solid var(--accent-dim); color:var(--text);
  padding:14px 18px; border-radius:10px; margin-bottom:14px; font-size:14px;
}
.site-message-error{ background:rgba(229,103,90,.12); border-color:#E5675A; color:#E5675A; }

@media (max-width:1040px){
  .nav-item .nav-submenu{
    display:block; position:static; border:none; padding:0 0 0 14px;
    margin-top:0; background:transparent; box-shadow:none;
  }
}

/* Checkout fields inside the pricing ticket. New classes only — the original
   stylesheets are untouched. */
.checkout-field{
  width:100%; margin-bottom:8px; padding:10px 12px; font-size:13.5px;
  color:var(--text); background:var(--surface-2);
  border:1px solid var(--border); border-radius:var(--radius-sm);
}
.checkout-field::placeholder{ color:var(--text-dim); }
.checkout-field:focus{ outline:none; border-color:var(--accent); }
