:root {
  --article-max-width: 760px;
  /* Consistent spacing variables */
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 40px;
  --space-3xl: 48px;
}

/* Smooth scrolling with offset for sticky headers */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

/* Global vertical rhythm for article content */
.article > * {
  margin-top: 0;
  margin-bottom: var(--space-lg);
}

.article > *:last-child {
  margin-bottom: 0;
}

.article {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.85; /* Improved line height for better readability */
  display: grid;
  gap: 36px; /* Slightly increased gap for better spacing */
}

.article > .card.pad,
.article > .card {
  border-radius: var(--radius);
  padding: 32px;
}

/* Content inside cards should have consistent spacing */
.article .card > * + * {
  margin-top: var(--space-lg);
}

.article .card h2:first-child,
.article .card h3:first-child {
  margin-top: 0;
}

/* Sections within article should have proper spacing */
.article section + section {
  margin-top: var(--space-2xl);
}

.article h1,
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
  color: var(--ink);
  margin: 0 0 14px;
  line-height: 1.25;
}

.article h1 {
  font-size: clamp(30px, 3vw, 44px);
  margin-top: 32px;
  margin-bottom: 20px;
}
.article h2 {
  font-size: clamp(24px, 2.2vw, 32px);
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
  margin-top: 48px;
  margin-bottom: 24px;
}
.article h3 {
  font-size: clamp(20px, 1.8vw, 26px);
  margin-top: 32px;
  margin-bottom: 18px;
}
.article h4 {
  font-size: clamp(18px, 1.4vw, 22px);
  margin-top: 28px;
  margin-bottom: 16px;
}

.article h1:first-child,
.article h2:first-child,
.article h3:first-child,
.article h4:first-child,
.article h5:first-child,
.article h6:first-child {
  margin-top: 0;
}

.article p,
.article ul,
.article ol,
.article table,
.article blockquote,
.article details,
.article .quick-take,
.article .facts-grid,
.article .notice-box {
  margin-bottom: 24px !important; 
  margin-top: 0; 
}

.article p {
  color: var(--muted);
  font-size: clamp(16px, 1.1vw, 18px); /* Responsive font sizing */
}

/* Drop cap for first paragraph */
.article > .card.pad > p:first-of-type:first-letter,
.article > .card > p:first-of-type:first-letter {
  float: left;
  font-size: 68px;
  line-height: 1;
  font-weight: 700;
  margin-right: 8px;
  margin-top: -5px;
  color: var(--brand);
}

.article ul,
.article ol {
  padding-left: 28px;
  color: var(--muted);
  margin-top: 16px;
  margin-bottom: 24px;
}

/* Nested lists should have less top margin */
.article li ul,
.article li ol {
  margin-top: 10px;
  margin-bottom: 10px;
}

.article li {
  margin-bottom: 10px;
  line-height: 1.7;
}

.article li:last-child {
  margin-bottom: 0;
}

.article p:last-child,
.article ul:last-child,
.article ol:last-child,
.article table:last-child,
.article blockquote:last-child,
.article details:last-child,
.article .quick-take:last-child,
.article .facts-grid:last-child,
.article .notice-box:last-child {
  margin-bottom: 0;
}

.article strong { color: var(--ink); }

.article em { color: var(--brand); font-style: italic; }

/* Enhanced blockquote styling - for actual quotes */
.article blockquote:not([class]) {
  position: relative;
  margin: 32px 0;
  padding: 24px 24px 24px 50px;
  border-left: 4px solid var(--brand);
  background: linear-gradient(135deg, #f7faff 0%, #ffffff 100%);
  border-radius: 12px;
  font-size: 18px;
  font-style: italic;
  box-shadow: 0 4px 12px rgba(38, 92, 115, 0.08);
}

.article blockquote:not([class])::before {
  content: '"';
  position: absolute;
  left: 16px;
  top: 20px;
  font-size: 56px;
  color: var(--brand);
  opacity: 0.15;
  font-family: Georgia, serif;
  line-height: 1;
}

/* Blockquotes used as note/warning boxes */
.article blockquote.note,
.article blockquote.warning {
  font-style: normal;
  background: #fef3f3;
  padding: 18px 20px;
}

.article .quick-take {
  border-radius: 12px;
  border: 1px solid rgba(38, 92, 115, 0.15);
  background: linear-gradient(135deg, rgba(38, 92, 115, 0.05), rgba(200, 217, 7, 0.05));
  padding: 18px;
  margin-top: 18px;
}

.article .facts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.article .fact-box {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  background: #f8faff;
  font-weight: 600;
  color: var(--ink);
}

.article .notice-box {
  border-radius: 14px;
  border-left: 4px solid var(--brand);
  background: #fdf4f4;
  padding: 16px 18px;
  color: var(--muted);
}

.article table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 30px rgba(10, 10, 10, 0.03);
}

.article table caption {
  caption-side: top;
  padding: 14px 16px;
  font-weight: 600;
}

.article table th,
.article table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  color: var(--muted);
}

.article table th {
  background: #f6f8fc;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.article table tr:last-child td { border-bottom: none; }

/* Zebra striping for tables */
.article table tbody tr:nth-child(even) {
  background: rgba(246, 248, 252, 0.5);
}

/* Enhanced hover effect for table rows */
.article table tbody tr {
  transition: background 0.2s ease;
}

.article table tbody tr:hover {
  background: linear-gradient(90deg, rgba(38, 92, 115, 0.05), rgba(38, 92, 115, 0.02));
}

@media (max-width: 720px) {
  .article table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .article table table { width: 100%; }
}

/* Enhanced details/accordion with smooth animations */
.article details {
  border: 2px solid var(--line);
  border-radius: 14px;
  background: white;
  margin: 32px 0;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.article details[open] {
  border-color: var(--brand);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(38, 92, 115, 0.12);
}

.article details summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 18px 24px;
  font-weight: 600;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  background: linear-gradient(135deg, rgba(38, 92, 115, 0.02), rgba(200, 217, 7, 0.02));
  border-radius: 14px;
  transition: background 0.25s ease, color 0.25s ease, padding 0.25s ease;
}

.article details[open] summary {
  background: linear-gradient(135deg, rgba(38, 92, 115, 0.08), rgba(200, 217, 7, 0.08));
  color: var(--brand);
  padding-bottom: 16px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 1px solid var(--line);
}

.article details summary::-webkit-details-marker { display: none; }

.article details summary::after {
  content: '';
  width: 10px;
  height: 10px;
  border-bottom: 2px solid var(--brand);
  border-right: 2px solid var(--brand);
  transform: rotate(45deg);
  margin-left: auto;
  transition: transform 0.2s ease;
}

.article details[open] summary::after { transform: rotate(-135deg); }


.article details > *:not(summary) {
  padding: 0 20px;
  color: var(--muted);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.25s ease, max-height 0.25s ease, padding 0.25s ease;
}

.article details[open] > *:not(summary) {
  opacity: 1;
  max-height: 1000px;
  padding: 0 20px 18px;
}

.article details + details {
  margin-top: 24px;
}

/* Ensure multiple consecutive details have consistent spacing */
.article details ~ details {
  margin-top: 24px;
}

.article-category {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(38, 92, 115, 0.08);
  border: 1px solid rgba(38, 92, 115, 0.25);
  color: var(--brand);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  margin-top: 24px !important;
}

.article-category::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
}

/* Note/Warning Box Styling */
.article .note-box,
.article .warning-box {
  background: #fef3f3;
  border-left: 4px solid #dc2626;
  padding: 18px 20px;
  margin: 28px 0;
  border-radius: 0 8px 8px 0;
  font-size: 15px;
  line-height: 1.65;
}

/* Style for paragraphs that start with "Note:" or are styled as callouts */
.article p[style*="background"],
.article div[style*="background"],
.article .wp-block-group {
  background: #fef3f3;
  border-left: 4px solid var(--brand);
  padding: 18px 20px !important;
  margin: 28px 0 !important;
  border-radius: 0 8px 8px 0;
}

/* WordPress block quote or custom HTML blocks used as notes */
.article .wp-block-quote,
.article .has-background {
  margin: 28px 0;
  padding: 18px 20px;
}

/* First child note box should not have top margin */
.article > :first-child[style*="background"],
.article > .wp-block-group:first-child,
.article > .wp-block-quote:first-child {
  margin-top: 0 !important;
}

/* Alternative note style with different background */
.article .info-note {
  background: #eff6ff;
  border-left: 4px solid #2563eb;
  padding: 18px 20px;
  margin: 28px 0;
  border-radius: 0 8px 8px 0;
}

/* Ensure proper spacing after headings */
.article h1 + *,
.article h2 + *,
.article h3 + *,
.article h4 + * {
  margin-top: 0;
}

/* Ensure minimum spacing before all headings (except first) */
.article * + h1,
.article * + h2,
.article * + h3,
.article * + h4 {
  margin-top: var(--space-2xl);
}

/* Override for first headings in sections */
.article > h1:first-child,
.article > h2:first-child,
.article > h3:first-child,
.article > h4:first-child,
.article .card > h1:first-child,
.article .card > h2:first-child,
.article .card > h3:first-child,
.article .card > h4:first-child {
  margin-top: 0;
}

/* Proper spacing for paragraphs following paragraphs */
.article p + p {
  margin-top: 20px;
}

/* Spacing for ordered lists (numbered lists) */
.article ol {
  padding-left: 0;
  margin: 24px 0;
  list-style: none; /* Remove default numbers since content already has them */
}

.article ol li {
  margin-bottom: 16px;
  padding-left: 0;
  position: relative;
}

/* If you want to add custom numbers for lists without manual numbering, add class="auto-numbers" */
.article ol.auto-numbers {
  counter-reset: list-counter;
  padding-left: 0;
  list-style: none;
}

.article ol.auto-numbers li {
  counter-increment: list-counter;
  padding-left: 40px;
}

.article ol.auto-numbers li::before {
  content: counter(list-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 600;
  color: var(--brand);
  font-size: 18px;
  width: 30px;
  text-align: right;
}

/* Nested ordered lists */
.article ol ol {
  margin-top: 12px;
  margin-bottom: 12px;
}

.article ol ol li::before {
  content: counter(list-counter, lower-alpha) ".";
  font-size: 16px;
}

/* AI-Generated Content Specific Sections */

/* Key Takeaways Section */
.article .key-takeaways {
  background: linear-gradient(135deg, #f0f9ff, #fef3c7);
  border: 2px solid var(--brand);
  border-radius: 16px;
  padding: 24px;
  margin: 32px 0;
}

.article .key-takeaways h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  color: var(--ink);
  font-size: 22px;
}

.article .key-takeaways ul {
  margin-bottom: 0;
}

.article .key-takeaways li {
  position: relative;
  padding-left: 24px;
  color: var(--ink);
}

.article .key-takeaways li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--brand);
  font-weight: bold;
}

/* Legal Disclaimer Box */
.article .legal-disclaimer {
  background: linear-gradient(135deg, #fff8dc, #fffef5);
  border: 2px dashed #d97706;
  border-radius: 12px;
  padding: 20px;
  margin: 24px 0;
  font-size: 14px;
}

.article .legal-disclaimer p {
  margin-bottom: 12px;
  font-size: 14px;
}

.article .legal-disclaimer p:last-child {
  margin-bottom: 0;
}

/* FAQ Section */
.article .faq-section {
  margin: 32px 0;
}

.article .faq-item {
  border-bottom: 1px solid var(--line);
  padding: 24px 0;
}

.article .faq-item:last-child {
  border-bottom: none;
}

.article .faq-question {
  font-weight: 600;
  color: var(--brand);
  margin-bottom: 12px;
  font-size: 19px;
}

.article .faq-answer {
  color: var(--muted);
  padding-left: 20px;
}

/* Highlight Box with Animation */
.article .highlight-box {
  position: relative;
  padding: 20px;
  background: linear-gradient(135deg, rgba(38, 92, 115, 0.05), rgba(200, 217, 7, 0.05));
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(38, 92, 115, 0.15);
  margin: 24px 0;
}

.article .highlight-box::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(200, 217, 7, 0.1), transparent);
  animation: shimmer 3s infinite;
}

@keyframes shimmer {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
  100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

/* Accessibility Enhancements */
.article a:focus-visible,
.article button:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .article {
    --line: #000;
    --muted: #000;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .article * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Additional spacing rules for consistency */

/* When headings follow each other directly */
.article h2 + h3 {
  margin-top: 20px;
}

.article h3 + h4 {
  margin-top: 16px;
}

/* Spacing for elements after lists */
.article ul + p,
.article ol + p,
.article ul + h2,
.article ol + h2,
.article ul + h3,
.article ol + h3 {
  margin-top: var(--space-xl);
}

/* Ensure details/summary has proper spacing with other elements */
.article details + p,
.article details + ul,
.article details + ol,
.article p + details,
.article ul + details,
.article ol + details {
  margin-top: var(--space-xl);
}

/* Headings after details need extra spacing */
.article details + h1,
.article details + h2,
.article details + h3,
.article details + h4 {
  margin-top: var(--space-2xl);
}

/* Ensure collapsed details also have proper bottom spacing */
.article details:not([open]) {
  margin-bottom: 10px;
}

/* Open details should also have good bottom spacing */
.article details[open] {
  margin-bottom: var(--space-2xl);
}

/* Special handling for blockquotes */
.article blockquote + *,
.article * + blockquote {
  margin-top: var(--space-xl);
}

/* Tables spacing */
.article table + *,
.article * + table {
  margin-top: var(--space-xl);
}

/* Note boxes at the beginning should have less top margin */
.article > .card > *:first-child.note-box,
.article > .card > blockquote:first-child {
  margin-top: 0;
}

/* Ensure consistent spacing in content sections */
.article .card.pad > :first-child,
.article .card > :first-child {
  margin-top: 0;
}

.article .card.pad > :last-child,
.article .card > :last-child {
  margin-bottom: 0;
}

/* Strong elements at the beginning of paragraphs (like "Note:") */
.article p strong:first-child {
  display: inline-block;
  margin-right: 4px;
}

/* List items with nested content */
.article li > p {
  margin-bottom: 10px;
}

.article li > p:last-child {
  margin-bottom: 0;
}

/* Ensure major section headings have extra spacing */
.article h2 {
  clear: both; /* Clear floats from any previous elements */
}

/* When any block element is followed by an h2, ensure proper spacing */
.article p + h2,
.article ul + h2,
.article ol + h2,
.article details + h2,
.article blockquote + h2,
.article table + h2,
.article .notice-box + h2,
.article .card + h2 {
  margin-top: var(--space-3xl);
}

/* Responsive adjustments */
@media (max-width: 680px) {
  :root {
    /* Adjust spacing for mobile */
    --space-xs: 6px;
    --space-sm: 10px;
    --space-md: 14px;
    --space-lg: 20px;
    --space-xl: 28px;
    --space-2xl: 36px;
    --space-3xl: 42px;
  }

  .article > .card.pad,
  .article > .card {
    padding: 24px;
  }

  /* Adjust heading margins for mobile */
  .article h2 {
    margin-top: 32px;
    margin-bottom: 20px;
  }

  .article h3 {
    margin-top: 28px;
    margin-bottom: 16px;
  }

  /* Adjust list spacing for mobile */
  .article ul,
  .article ol {
    margin: 20px 0;
  }

  .article li {
    margin-bottom: 8px;
  }

  .article table th,
  .article table td {
    padding: 12px;
  }

  .article details summary {
    padding: 14px 16px;
  }

  .article-category {
    font-size: 12px;
    padding: 8px 14px;
  }

  .article .key-takeaways {
    padding: 20px;
  }

  .article .faq-item {
    padding: 20px 0;
  }
}


.legal-blog-single {
    /* brand tokens mapped to site palette */
    --bg: #ffffff;
    --surface: #ffffff;
    --ink: #181818;
    --muted: #413c40;
    --brand: #265c73;
    /* teal */
    --brand-2: #c8d907;
    /* lime accent */
    --line: #edeef0;
}

/* Title/meta and article spacing */
.legal-blog-single .hero .title {
    margin: 6px 0 8px
}

.legal-blog-single .hero .meta {
    margin: 6px 0 10px
}

.legal-blog-single .article {
    gap: 20px
}

.legal-blog-single .right-rail {
    gap: 18px
}


.legal-blog-single a:hover {
    text-decoration: underline
}

/* TOC look + active state */
.legal-blog-single .toc h3 {
    color: var(--muted)
}

.legal-blog-single .toc a {
    color: var(--muted)
}

.legal-blog-single .toc a.active,
.legal-blog-single .toc a:hover {
    color: var(--brand);
    text-decoration: underline
}

/* TOC dropdown header */
.legal-blog-single .toc .toc-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #265c73;
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 10px 12px;
    font-weight: 700;
    cursor: pointer;
}

.legal-blog-single .toc .toc-toggle .caret {
    inline-size: 0;
    block-size: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #fff;
    transition: transform .2s ease;
}

.legal-blog-single #toc.collapsed .toc-toggle .caret {
    transform: rotate(-180deg);
}

.legal-blog-single #toc.collapsed #toc-links {
    display: none;
}

.legal-blog-single #toc .toc-divider {
    border: 0;
    border-top: 1px solid var(--line);
    opacity: .5;
    margin: 10px 0
}

.legal-blog-single #toc .toc-hint {
    color: var(--muted);
    font-size: 12px;
    margin: 6px 0 0
}

/* Contact Form 7 inside CTA */
.legal-blog-single .cta .wpcf7 form {
    display: grid;
    gap: 10px
}

.legal-blog-single .cta .wpcf7-form-control {
    width: 100%;
    background: #fff;
    color: var(--ink);
    border: 1px solid #d6dbe6;
    border-radius: 10px;
    padding: 10px 12px
}

.legal-blog-single .cta .wpcf7-textarea {
    min-height: 90px
}

.legal-blog-single .cta .wpcf7-submit {
    appearance: none;
    border: 0;
    border-radius: 999px;
    padding: 12px 16px;
    font-weight: 800;
    cursor: pointer;
    background: var(--brand-2);
    color: #0d323f
}

.legal-blog-single .cta .wpcf7-submit:hover {
    filter: brightness(0.95)
}

.legal-blog-single .cta .wpcf7-not-valid-tip {
    color: #b00020;
    font-size: 12px
}

.legal-blog-single .cta .wpcf7-response-output {
    margin: 6px 0 0;
    padding: 8px 10px;
    border-radius: 8px
}

/* Chips, tables, notice boxes refine to brand */
.legal-blog-single .chip {
    border-color: var(--line);
    color: var(--muted)
}

.legal-blog-single th {
    background: #f2f2f2;
    color: var(--muted)
}

.legal-blog-single tr:hover td {
    background: #fafcff
}

.legal-blog-single .summary {
    border-left-color: var(--brand)
}


body.post-template-single-legal-blog .bt_bb_section.btPageHeadline {
    display: none !important;
}

/* Non-sticky header background on legal blog template */
body.post-template-single-legal-blog:not(.btStickyHeaderActive) .mainHeader {
    background: #05243f;
}

.legal-blog-single .cta .wpcf7-form-control.wpcf7-acceptance {
    border-width: 0;
}

.legal-blog-single .cta .wpcf7-submit,
.wpcf7-form .wpcf7-submit {
    background-color: var(--brand-2) !important;
    box-shadow: none !important;
    color: var(--brand) !important;
}

/* Call Button Styles - Fixed to Bottom Left Corner */
#icw--call--button.widget-button {
    position: fixed;
    bottom: 30px;
    left: 30px;
    align-items: center;
    animation: icw-button-pulse 2s ease-in-out infinite;
    border-radius: 20px;
    background-color: #265c73;
    /* Teal brand color from site */
    color: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    height: 64px;
    justify-content: center;
    margin-top: 12px;
    transition: all 1s ease-in-out;
    width: 64px;
    z-index: 999999;
    cursor: pointer;
    text-decoration: none !important;
}

#icw--call--button.widget-button:hover {
    transform: scale(1.1);
    background-color: #1a4050;
}

#icw--call--button.widget-button .call-icon {
    margin: 0;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M20.01 15.38c-1.23 0-2.42-.2-3.53-.56a.977.977 0 0 0-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

#icw--call--button.widget-button .button-text {
    font-size: 10px;
    margin-top: 4px;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Animation for the call button - Pulsing effect */
@keyframes icw-button-pulse {
    0% {
        box-shadow: 0 0 0 1px rgba(38, 92, 115, 0.5);
    }

    20% {
        box-shadow: 0 0 0 6px rgba(38, 92, 115, 0.3);
    }

    40% {
        box-shadow: 0 0 0 3px rgba(38, 92, 115, 0.4);
    }

    60% {
        box-shadow: 0 0 0 8px rgba(38, 92, 115, 0.2);
    }

    100% {
        box-shadow: 0 0 0 1px rgba(38, 92, 115, 0.5);
    }
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    #icw--call--button.widget-button {
        bottom: 20px;
        left: 20px;
        height: 56px;
        width: 56px;
    }

    #icw--call--button.widget-button .call-icon {
        width: 20px;
        height: 20px;
    }

    #icw--call--button.widget-button .button-text {
        font-size: 9px;
    }
}
