  /* Scope root: limits fonts/colors to the widget only */
  .cwidget-root {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }

  /* ===== Floating Button ===== */
  .cwidget-fab {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #25D366, #128C7E);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    z-index: 100;
    border: none;
  }
  .cwidget-fab:hover { transform: scale(1.1); }
  .cwidget-fab--active {
    background: #e74c3c;
    box-shadow: 0 6px 25px rgba(231, 76, 60, 0.6);
    transform: scale(1.1) rotate(180deg);
  }
  .cwidget-fab i {
    color: #fff !important;
    font-size: 24px !important;
    transition: transform 0.4s ease, opacity 0.4s ease !important;
  }

  /* ===== Main Menu ===== */
  .cwidget-menu {
    position: fixed;
    bottom: 100px;
    right: 30px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    padding: 15px;
    transform: translateY(20px) scale(0.8);
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.68,-0.55,0.265,1.55);
    z-index: 2147483600;
    min-width: 200px;
  }
  .cwidget-menu--active {
    transform: translateY(0) scale(1);
    opacity: 1;
    visibility: visible;
  }

  .cwidget-option {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 8px;
    text-decoration: none;
    color: #333;
  }
  .cwidget-option:last-child { margin-bottom: 0; }
  .cwidget-option:hover {
    background: #f5f5f5;
    transform: translateX(-5px);
  }
  .cwidget-option__icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 12px;
    color: #fff !important;
    font-size: 18px !important;
  }
  .cwidget-option__text { font-weight: 500; font-size: 14px; }

  /* ✅ Unifica <button> y <a> con el mismo look (evita borde/fondo nativos) */
  .cwidget-root button.cwidget-option{
    -webkit-appearance: none;
            appearance: none;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit;
    font: inherit;
    border-radius: 12px;
  }
  /* Firefox */
  .cwidget-root button.cwidget-option::-moz-focus-inner{ border:0; padding:0; }
  /* Foco accesible para ambos */
  .cwidget-root .cwidget-option:focus-visible{
    outline: 2px solid #059669;
    outline-offset: 2px;
    border-radius: 12px;
  }
  .cwidget-root button.cwidget-option:active{
    border: 0 !important;
    background: transparent !important;
  }

  /* Brand icon backgrounds */
  .cwidget-icon--whatsapp { background: #25D366; }
  .cwidget-icon--messenger { background: #006AFF; }
  .cwidget-icon--instagram {
    background: linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  }
  .cwidget-icon--contact { background: #2c5530; }

  /* ===== WhatsApp Submenu ===== */
  .cwidget-wsp {
    position: fixed;
    bottom: 100px;
    right: 260px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    padding: 15px;
    transform: translateX(20px) scale(0.8);
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.68,-0.55,0.265,1.55);
    z-index: 2147483601;
    min-width: 220px;
  }
  .cwidget-wsp--active {
    transform: translateX(0) scale(1);
    opacity: 1;
    visibility: visible;
  }

  .cwidget-wsp__item {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 8px;
    text-decoration: none;
    color: #333;
  }
  .cwidget-wsp__item:hover { background: #f5f5f5; }

  .cwidget-wsp__avatar {
    width: 40px; height: 40px; border-radius: 50%;
    background: #25D366; color: #fff; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    margin-right: 12px; font-size: 16px;
  }
  .cwidget-wsp__info { flex: 1; }
  .cwidget-wsp__name { font-weight: 600; font-size: 14px; margin-bottom: 2px; }
  .cwidget-wsp__num { font-size: 12px; color: #666 !important; }

  /* ===== Contact Form ===== */
  .cwidget-form {
    position: fixed !important;
    bottom: 100px !important;
    right: 260px !important;
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    padding: 20px !important;
    transform: translateX(20px) scale(0.8) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.4s cubic-bezier(0.68,-0.55,0.265,1.55) !important;
    z-index: 2147483601 !important;
    min-width: 280px !important;
  }
  .cwidget-form--active {
    transform: translateX(0) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .cwidget-form__title {
    margin-bottom: 15px; color: #333; font-size: 16px; text-align: center;
  }
  .cwidget-field { margin-bottom: 15px; }
  .cwidget-label {
    display: block; margin-bottom: 5px; color: #666; font-size: 14px;
  }
  .cwidget-input {
    width: 100%; padding: 10px 15px; border: 2px solid #eee;
    border-radius: 10px; font-size: 14px; transition: border-color .3s ease;
  }
  .cwidget-input:focus { outline: none; border-color: #25D366; }
  .cwidget-submit {
    width: 100%; padding: 12px; background: #25D366; color: #fff; border: none;
    border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer;
    transition: background .3s ease;
  }
  .cwidget-submit:hover { background: #128C7E; }

  /* ===== Overlay ===== */
  .cwidget-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.1) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all .3s ease !important;
    z-index: 2147483500 !important;
  }
  .cwidget-overlay--active { opacity: 1 !important; visibility: visible !important; }

  /* ===== Mobile (≤600px) : toolbar row + compact submenus ===== */
  @media (max-width: 600px){
    .cwidget-fab{
      bottom: calc(16px + env(safe-area-inset-bottom));
      right: 16px;
    }
    .cwidget-menu{
       right: 12px;
      bottom: calc(16px + 60px + 8px + env(safe-area-inset-bottom));
      width: auto; min-width: 0; padding: 8px 10px; border-radius: 14px;
      display: flex; align-items: center; justify-content: space-between;
      gap: 10px; transform: translateY(6px) scale(1);
    }
    .cwidget-menu--active{ transform: translateY(0) scale(1); }
    .cwidget-option{
      flex: 0 0 auto; margin: 0; padding: 6px; border-radius: 12px;
      transition: background-color .2s ease;
    }
    .cwidget-option:hover{ transform: none; }
    .cwidget-option__text{ display: none; }
    .cwidget-option__icon{
      margin: 0; width: 50px !important; height: 50px !important; font-size: 20px !important;
    }

    .cwidget-overlay{ z-index: 2147483600 !important; }

    .cwidget-wsp,
    .cwidget-form{
      position: fixed !important;
      left: 12px !important; right: 12px !important;
      bottom: calc(16px + 60px + 15% + env(safe-area-inset-bottom)) !important;
      transform: none !important;
      width: auto !important;
      max-width: min(480px, calc(100vw - 24px)) !important;
      max-height: min(75vh, 560px) !important;
      overflow-y: auto !important;
      border-radius: 16px !important;
      z-index: 2147483646 !important;
      margin: 0 auto !important;
    }
    .cwidget-wsp__item{ margin-bottom: 10px; }
  }