.elementor-84 .elementor-element.elementor-element-7872254f{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-84 .elementor-element.elementor-element-095a9d4{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:5px;--padding-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-84 .elementor-element.elementor-element-7254f9f{--grid-columns:3;width:100%;max-width:100%;}.elementor-84 .elementor-element.elementor-element-7254f9f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-84 .elementor-element.elementor-element-7254f9f{--grid-columns:2;}}@media(max-width:767px){.elementor-84 .elementor-element.elementor-element-7254f9f{--grid-columns:1;}}/* Start custom CSS for text-editor, class: .elementor-element-2e45ebc4 *//* ===== Orange County Locksmith — Scoped Styles ===== */
.oc-locksmith {
  --yellow: #FAC124;
  --ink: #333333;
  --paper: #f8f8f8;
  --muted: #6b6b6b;
  --radius: 16px;
  --shadow: 0 14px 40px rgba(0,0,0,.08);
  font-family: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  color: var(--ink);
  background: linear-gradient(140deg, #fff 0%, #fff 60%, rgba(250,193,36,.08) 60%, rgba(250,193,36,.18) 100%);
}

.oc-wrap { max-width: 1150px; margin: 0 auto; padding: 32px 20px 80px; }

/* Hero */
.oc-hero {
  background: radial-gradient(1200px 600px at 110% -10%, rgba(250,193,36,.35), transparent 60%),
              linear-gradient(180deg,#fff, #fff);
  border: 1px solid rgba(0,0,0,.04);
  border-radius: var(--radius);
  padding: 36px 28px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.oc-hero .kicker { 
  text-transform: uppercase; 
  letter-spacing: .12em; 
  font-size: 12px; 
  color: var(--muted); 
}
.oc-hero h1 {
  font-size: clamp(28px, 5vw, 42px);
  line-height: 1.1;
  margin: 6px 0 10px;
}
.oc-hero p { font-size: 18px; color: #444; max-width: 70ch; }
.oc-hero .cta-row { margin-top: 18px; display: flex; gap: 12px; flex-wrap: wrap; }
.btn-yellow, .btn-outline {
  padding: 12px 18px; border-radius: 999px; font-weight: 600; text-decoration: none; display: inline-block;
}
.btn-yellow { background: var(--yellow); color: #1a1a1a; border: 2px solid var(--yellow); }
.btn-yellow:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.btn-outline { border: 2px solid var(--ink); color: var(--ink); background: transparent; }
.btn-outline:hover { background: var(--ink); color: white; }

/* Section utilities */
.section { margin-top: 44px; }
.section h2 {
  font-size: clamp(22px, 3.6vw, 30px);
  position: relative; padding-left: 14px;
}
.section h2:before {
  content: ""; position: absolute; left: 0; top: .35em; width: 6px; height: .9em;
  background: var(--yellow); border-radius: 2px;
}
.subtle { color: var(--muted); }

/* Intro / Problems */
.intro {
  background: #fff; border-radius: var(--radius);
  padding: 22px; border: 1px solid rgba(0,0,0,.06); box-shadow: var(--shadow);
}
.problem-list {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 14px;
}
.problem-list li {
  list-style: none; background: var(--paper); border: 1px dashed rgba(0,0,0,.14);
  border-left: 6px solid var(--yellow); padding: 12px 14px; border-radius: 12px;
}

/* Services Grid */
.services-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px;
}
.service-card {
  background: #fff; border-radius: 18px; border: 1px solid rgba(0,0,0,.06);
  box-shadow: var(--shadow); padding: 18px; display: grid; gap: 8px; position: relative;
}
.service-card:after {
  content: ""; position: absolute; inset: 0; border-radius: 18px;
  background: linear-gradient(160deg, rgba(250,193,36,.15), transparent 35%, transparent 100%);
  pointer-events: none;
}
.service-card h3 { margin: 0 0 4px; }
.service-card p { color: #444; }
.service-card a {
  margin-top: 6px; text-decoration: none; font-weight: 700;
  color: var(--ink); border-bottom: 2px solid var(--yellow); width: fit-content;
}
.service-card a:hover { color: #000; transform: translateY(-1px); }

/* Benefits Cards */
.benefits-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px;
}
.benefit {
  background: #fff; border-radius: 16px; padding: 18px;
  border: 1px solid rgba(0,0,0,.06); box-shadow: var(--shadow);
}
.benefit .tag {
  display: inline-block; background: var(--yellow); color: #1a1a1a; font-weight: 700;
  padding: 6px 10px; border-radius: 999px; font-size: 12px; margin-bottom: 8px;
}

/* Testimonials */
.testimonials {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px;
}
.quote {
  background: #fff; border-left: 8px solid var(--yellow); border-radius: 12px;
  padding: 16px; box-shadow: var(--shadow); border: 1px solid rgba(0,0,0,.06);
  font-style: italic;
}

/* Contact */
.contact {
  background: linear-gradient(180deg, #fff, #fffbe8);
  border: 1px solid rgba(0,0,0,.06); border-radius: 18px; padding: 22px; box-shadow: var(--shadow);
}
.contact .cta-row { margin-top: 14px; }

/* Responsive */
@media (max-width: 980px) {
  .services-grid, .benefits-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .problem-list { grid-template-columns: 1fr; }
  .services-grid, .benefits-grid, .testimonials { grid-template-columns: 1fr; }
}/* End custom CSS */