.elementor-kit-8{--e-global-color-primary:#14215A;--e-global-color-secondary:#0B1338;--e-global-color-text:#1F2937;--e-global-color-accent:#F2B705;--e-global-color-oiplight:#F4F6FB;--e-global-color-oipmuted:#5B6474;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:700;color:#1F2937;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.7em;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#14215A;}.elementor-kit-8 a:hover{color:#B98900;}.elementor-kit-8 h1{color:#14215A;font-family:"Archivo", Sans-serif;font-weight:800;}.elementor-kit-8 h2{color:#14215A;font-family:"Archivo", Sans-serif;font-weight:800;}.elementor-kit-8 h3{color:#14215A;font-family:"Archivo", Sans-serif;font-weight:700;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-family:"Inter", Sans-serif;font-weight:700;border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Old Irish Paving & Masonry – global styles (Elementor Site Settings → Custom CSS) */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor ul { padding-left: 1.2em; }
.elementor-widget-text-editor li { margin-bottom: .35em; }
.elementor-widget-text-editor h3 { color: #14215A; font-size: 1.2em; margin: 1.2em 0 .4em; }

.oip-hero-sub { font-size: 1.2rem; max-width: 760px; }
.oip-topbar { font-size: 13px; margin: 0; }
.oip-topbar a { color: #C9CFE6; }

.oip-quick { background: #FFF8E1; border-left: 5px solid #F2B705; border-radius: 8px; padding: 18px 22px; margin-bottom: 18px; }
.oip-quick-label, .oip-facts-label { font-size: 12px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: #8A6A00; margin: 0 0 6px; }
.oip-quick p:last-child { margin: 0; font-weight: 500; }

.oip-facts { background: #F4F6FB; border: 1px solid #E3E7F1; border-radius: 12px; padding: 20px 24px; margin-top: 18px; }
.oip-facts-label { color: #14215A; }
.oip-facts ul { list-style: none; padding: 0 !important; margin: 0; }
.oip-facts li { padding: 7px 0; border-bottom: 1px dashed #D5DAE8; font-size: 15px; }
.oip-facts li:last-child { border-bottom: 0; }

.oip-table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 15px; }
.oip-table th, .oip-table td { border: 1px solid #E3E7F1; padding: 10px 12px; text-align: left; vertical-align: top; }
.oip-table th { background: #14215A; color: #fff; }
.oip-table tr:nth-child(even) td { background: #F9FAFD; }
.oip-table-wrap { overflow-x: auto; }

.oip-faq-item { border-bottom: 1px solid #E3E7F1; padding: 18px 0; }
.oip-faq-item h3 { margin: 0 0 8px !important; font-size: 1.1rem !important; }
.oip-faq-item p { margin: 0; color: #374151; }

.oip-links { list-style: none; padding: 0 !important; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px 20px; }
.oip-links li { margin: 0 !important; }
.oip-links a { display: block; padding: 10px 14px; background: #fff; border: 1px solid #E3E7F1; border-radius: 8px; font-weight: 600; font-size: 15px; text-decoration: none; }
.oip-links a:hover { border-color: #F2B705; background: #FFFBEB; }

.oip-more { font-weight: 700; text-decoration: none; }
.oip-step { display: inline-flex; width: 40px; height: 40px; border-radius: 50%; align-items: center; justify-content: center; background: #F2B705; color: #0B1338; font-weight: 800; }
.oip-stars { color: #F2B705; font-size: 20px; letter-spacing: 2px; margin: 0 0 6px; }
.oip-review { margin: 0 0 12px; padding: 0; border: 0; font-style: italic; color: #374151; }
.oip-review-name { font-weight: 700; color: #14215A; margin: 0; }

.oip-cta-phone a { color: #F2B705; font-size: 1.35rem; font-weight: 800; text-decoration: none; }
.oip-foot-list { list-style: none; padding: 0 !important; margin: 0; }
.oip-foot-list li { margin-bottom: 6px; font-size: 15px; }
.oip-foot-list a, .oip-foot-contact a { color: #C9CFE6; text-decoration: none; }
.oip-foot-list a:hover, .oip-foot-contact a:hover { color: #F2B705; }
.elementor-location-footer a { color: #C9CFE6; }
.oip-copy { font-size: 13px; margin: 0; }

.oip-callout { background: #14215A; color: #fff; border-radius: 12px; padding: 22px 26px; margin: 22px 0; }
.oip-callout a { color: #F2B705; font-weight: 700; }

.elementor-field-type-acceptance label { font-size: 13px; }
.elementor-form .elementor-field-group { margin-bottom: 12px; }

/* Blog post body */
.single-post .elementor-widget-theme-post-content h2 { font-size: 1.7rem; margin-top: 1.6em; }
.single-post .elementor-widget-theme-post-content img { border-radius: 10px; }

@media (max-width: 767px) {
  .oip-hero-sub { font-size: 1.05rem; }
  .oip-table { font-size: 14px; }
}

/* Problem cards */
.oip-problem-body p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.6; }
.oip-pl { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; margin-bottom: 2px; }
.oip-pl-see { color: #8A6A00; }
.oip-pl-why { color: #B42318; }
.oip-pl-fix { color: #14215A; }
.oip-pl-prevent { color: #067647; }
.oip-problem { border: 1px solid #E3E7F1; border-left: 5px solid #F2B705; border-radius: 10px; padding: 18px 22px; margin: 18px 0; background: #FAFBFE; }
.oip-problem h3 { margin-top: 0 !important; }
.oip-problem p { margin: 0 0 8px; }
.oip-check { list-style: none; padding: 0 !important; margin: 0; }
.oip-check li { position: relative; padding-left: 28px; margin-bottom: 10px; }
.oip-check li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #067647; font-weight: 800; }
.oip-mistakes .oip-check li::before { content: "✕"; color: #B42318; }

/* Header call icon (tablet & mobile) */
.oip-hdr-call { display: inline-flex; align-items: center; gap: 6px; background: #F2B705; color: #0B1338 !important; font-weight: 800; font-size: 15px; padding: 9px 14px; border-radius: 999px; text-decoration: none; white-space: nowrap; }
.oip-hdr-call:hover { background: #FFD23F; }

/* Floating calls to action */
.oip-side, .oip-mbar { display: none; }
@media (min-width: 1025px) {
  .oip-side { display: flex; flex-direction: column; gap: 6px; position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 9998; }
  .oip-side a { writing-mode: vertical-rl; transform: rotate(180deg); display: flex; align-items: center; gap: 10px; padding: 18px 12px; font-weight: 800; font-size: 15px; letter-spacing: .4px; text-decoration: none; border-radius: 0 10px 10px 0; box-shadow: 0 6px 20px rgba(11,19,56,.25); transition: padding .15s ease; }
  .oip-side a:hover { padding-right: 16px; }
  .oip-side a svg { transform: rotate(90deg); }
  .oip-side-call { background: #F2B705; color: #0B1338 !important; }
  .oip-side-quote { background: #14215A; color: #fff !important; }
}
@media (max-width: 1024px) {
  .oip-mbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #0B1338; box-shadow: 0 -6px 20px rgba(11,19,56,.25); padding-bottom: env(safe-area-inset-bottom); }
  .oip-mbar a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 8px; font-weight: 800; font-size: 16px; text-decoration: none; }
  .oip-mbar-call { background: #F2B705; color: #0B1338 !important; }
  .oip-mbar-quote { background: #14215A; color: #fff !important; }
  body { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
}
@media print { .oip-side, .oip-mbar { display: none !important; } }/* End custom CSS */