/*
Theme Name: Starr 2026
Description: Redesign preview for The Law Office of Robert L. Starr — English and Spanish pages built from the approved mockup. Built for starrlaw.com.
Version: 1.0.5
Author: Starr Law
Text Domain: starr2026
*/

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: #F5F6F3; color: #0E1B2B; font-family: 'Public Sans', system-ui, sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; }
/* Speed plugins (Smush / WP Rocket) add fixed width/height attributes; keep each image's designed aspect ratio. */
img { height: auto; }
:focus-visible { outline: 3px solid #F4C430; outline-offset: 2px; }

/* Interactive toggles rendered from the mockup (menus, back-to-top). */
.dc-t { display: contents; }
.dc-t.is-off { display: none; }

/* Generic WordPress pages (Privacy, Terms, Accessibility...). */
.starr-prose { max-width: 1100px; margin: 0 auto; padding: 64px 24px 96px; font-size: 17px; line-height: 1.7; }
.starr-prose h1 { font-family: Archivo, sans-serif; font-weight: 900; font-stretch: 72%; text-transform: uppercase; font-size: clamp(40px, 6vw, 72px); line-height: 0.95; margin: 0 0 32px; }
.starr-prose h2, .starr-prose h3 { font-family: Archivo, sans-serif; font-weight: 800; line-height: 1.2; margin: 40px 0 12px; }
.starr-prose a { color: #13294B; }
.starr-prose .fl-builder-content, .starr-prose .fl-row-content-wrap { background: none !important; }

/* ---------------- Gravity Forms inside the contact card ---------------- */
.cform .gform_wrapper { margin: 0 !important; }
.cform .gform_wrapper .gform_fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.cform .gform_wrapper .gfield { grid-column: 1 / -1; margin: 0; padding: 0; }
.cform .gform_wrapper .gfield--type-phone,
.cform .gform_wrapper .gfield--type-email { grid-column: auto; }
@media (max-width: 640px) {
  .cform .gform_wrapper .gfield--type-phone,
  .cform .gform_wrapper .gfield--type-email { grid-column: 1 / -1; }
}
.cform .gform_wrapper .gfield_label,
.cform .gform_wrapper legend.gfield_label { font-size: 14px !important; font-weight: 700 !important; color: #0E1B2B; margin-bottom: 6px !important; padding: 0; }
.cform .gform_wrapper .gfield_required { color: #9B2C2C; }
.cform .gform_wrapper .ginput_complex { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 !important; }
.cform .gform_wrapper .ginput_complex > span input { margin: 0 !important; }
.cform .gform_wrapper .gform_required_legend { font-size: 13px; color: #4A5563; margin: 0 0 4px; }
.cform .gform_wrapper .ginput_complex > span { width: auto !important; padding: 0 !important; display: flex; flex-direction: column-reverse; gap: 6px; }
.cform .gform_wrapper .ginput_complex label { font-size: 13px !important; color: #4A5563; }
.cform .gform_wrapper input[type="text"],
.cform .gform_wrapper input[type="tel"],
.cform .gform_wrapper input[type="email"],
.cform .gform_wrapper textarea {
  width: 100% !important; min-height: 48px; padding: 10px 14px !important; border: 1px solid #8C968E !important;
  border-radius: 6px !important; background: #FFFFFF !important; color: #0E1B2B; font: 16px/1.5 'Public Sans', system-ui, sans-serif !important; box-shadow: none !important;
}
.cform .gform_wrapper textarea { min-height: 140px; resize: vertical; }
.cform .gform_wrapper input:focus, .cform .gform_wrapper textarea:focus { outline: 3px solid #F4C430; outline-offset: 1px; border-color: #0E1B2B !important; }

/* Case-type choices as tap-to-pick pills */
.cform .gform_wrapper .gfield_radio { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; }
.cform .gform_wrapper .gfield_radio .gchoice { flex: 0 0 auto !important; width: auto !important; }
.cform .gform_wrapper .gfield_radio .gchoice { position: relative; margin: 0 !important; }
.cform .gform_wrapper .gfield_radio input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.cform .gform_wrapper .gfield_radio label {
  display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 16px !important; margin: 0 !important;
  border-radius: 999px; border: 1px solid #8C968E; background: #FFFFFF; color: #0E1B2B; font: 600 15px 'Public Sans', system-ui, sans-serif !important;
  cursor: pointer; max-width: none !important;
}
.cform .gform_wrapper .gfield_radio input[type="radio"]:checked + label { background: #0E1B2B; color: #FFFFFF; border: 1.5px solid #0E1B2B; }
.cform .gform_wrapper .gfield_radio input[type="radio"]:focus-visible + label { outline: 3px solid #F4C430; outline-offset: 2px; }

/* Uploads */
.cform .gform_wrapper .gform_drop_area { border: 1.5px dashed #8C968E !important; border-radius: 8px !important; background: #F5F6F3 !important; padding: 20px !important; }
.cform .gform_wrapper .gform_button_select_files { min-height: 44px; padding: 0 18px !important; border-radius: 6px !important; border: 1.5px solid #0E1B2B !important; background: #FFFFFF !important; color: #0E1B2B !important; font: 600 15px 'Public Sans', system-ui, sans-serif !important; }

/* Consent */
.cform .gform_wrapper .gfield--type-checkbox .gfield_label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cform .gform_wrapper .gfield_checkbox .gchoice { display: flex; gap: 12px; align-items: flex-start; }
.cform .gform_wrapper .gfield_checkbox input[type="checkbox"] { width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: #0E1B2B; }
.cform .gform_wrapper .gfield_checkbox label { font-size: 13px !important; line-height: 1.55; color: #2E3A47; max-width: none !important; }

/* Submit */
.cform .gform_wrapper .gform_footer { margin: 24px 0 0 !important; padding: 0 !important; }
.cform .gform_wrapper .gform_footer input[type="submit"],
.cform .gform_wrapper .gform_footer button {
  min-height: 54px; padding: 0 28px !important; border: 0 !important; border-radius: 6px !important; background: #F4C430 !important;
  color: #0E1B2B !important; font: 700 17px 'Public Sans', system-ui, sans-serif !important; cursor: pointer; width: auto !important;
}
.cform .gform_wrapper .gform_footer input[type="submit"]:hover { background: #E5B520 !important; }
.cform .gform_confirmation_message { font-size: 18px; line-height: 1.6; padding: 16px 0; }
.cform .gform_wrapper .gfield_validation_message, .cform .gform_wrapper .validation_message { color: #9B2C2C; font-size: 14px; background: none !important; border: 0 !important; padding: 6px 0 0 !important; }
