/**/@media(max-width:767px){body.dmRoot div[dmtemplateid]:not([dmtemplateid=SlideRightTopFloatM]) .dmHeader .multilingualWidget{position:absolute;top:14px;left:13px;margin-top:0}body.dmRoot div[dmtemplateid][dmtemplateid=SlideRightTopFloatM] .dmHeader .multilingualWidget{position:absolute;top:5px;right:17px}
}@media(min-width:768px) and (max-width:1024px){body:not(.responsiveTablet) #dm div[dmtemplateid=StandardLayoutMultiT] .dmHeader .multilingualWidget{position:absolute!important;top:5px!important;right:17px!important;left:initial!important}
}@media(max-width:767px){body.dmRoot .dmHeader .displayHidden-inner .multilingualWidget{top:0!important}}#dm_content div.dmRespCol div.multilingualWidget,#hcontainer div.dmRespCol div.multilingualWidget{width:auto!important;display:table!important}
.multilingualWidget{clear:both;margin:0;vertical-align:top;display:table!important;font-size:0;font-family:sans-serif}.multilingualWidget.displayNone{display:none!important}.multilingualWidget>div{position:relative}
.multilingualWidget .language{color:#888;display:inline-block}.multilingualWidget .language a{text-align:center;display:inline-block;color:inherit;border:#dadada 1px solid;background-color:#fff}.multilingualWidget .language a img{width:24px;height:26px;min-width:24px;min-height:26px}
.multilingualWidget .language a span{display:none;line-height:initial}.multilingualWidget .language a span.name{margin-top:5px;margin-left:7px;font-size:12px;font-weight:400;text-transform:capitalize}
.multilingualWidget .language a span.short-label{font-size:12px}.multilingualWidget .language a:after{line-height:initial}.multilingualWidget.open .current-language a:after{transform:rotate(-180deg)}.multilingualWidget .current-language a:after{transition:transform .2s}
.multilingualWidget.dropdown .language{width:100%}.multilingualWidget.dropdown .language a{display:block;padding:1px 5px}.multilingualWidget.dropdown .language.other-languages{position:absolute;z-index:800;max-height:0;overflow:hidden;transition:max-height .1s ease-in-out}
.multilingualWidget.dropdown .language.other-languages a{border-top:0!important}.multilingualWidget.dropdown .current-language{position:relative}.multilingualWidget.dropdown .current-language span.name{padding-right:25px}
.multilingualWidget.dropdown .dm-icon{font-size:9px;display:inline-block;position:absolute;top:46%;transform:translateY(-50%);transition:transform .2s;right:8px}.multilingualWidget.dropdown.open .dm-icon{transform:rotate(-180deg) translateY(50%)}
.multilingualWidget.dropdown.open .other-languages{display:block;max-height:300px}.multilingualWidget.dropdown .other-languages,.multilingualWidget.dropdown.flag-only .dm-icon,.multilingualWidget.inline span,.multilingualWidget.no-flag a img{display:none}
.multilingualWidget.dropdown.flag-only a{border:transparent 1px solid;background-color:transparent}.multilingualWidget.dropdown.flag-only.open .language a{background-color:rgba(0,0,0,.3);border:#dadada 1px solid}
.multilingualWidget.dropdown.long-label a{text-align:left;padding:2px 0 2px 5px;position:relative;box-sizing:border-box}.multilingualWidget.dropdown.long-label a span.name,.multilingualWidget.inline.flag-only .language,.multilingualWidget.inline.short-label.no-flag span.short-label{display:inline-block}
.multilingualWidget.dropdown.long-label.no-flag a{padding:7px 10px 9px}.multilingualWidget.dropdown.long-label.no-flag a span.name,.multilingualWidget.dropdown.short-label.no-flag a span.short-label{margin:0;display:inline-block}
.multilingualWidget.dropdown.short-label.no-flag a{padding:8px 22px 9px 10px;font-size:12px;min-height:32px;height:auto;box-sizing:border-box}.multilingualWidget.dropdown.short-label.no-flag .current-language a:after{top:12px}
.multilingualWidget.short-label span.short-label{text-transform:uppercase}.multilingualWidget.inline.flag-only a{padding:2px 5px;height:32px;box-sizing:border-box}.multilingualWidget.inline.flag-only .current-language a{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.6);border-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}
.multilingualWidget.inline.flag-only .other-languages a:not(:last-child){border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.flag-only .dm-icon,.multilingualWidget.inline.short-label.no-flag .dm-icon{display:none}
.multilingualWidget.inline.short-label.no-flag .current-language a{padding-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.short-label.no-flag .current-language a span.short-label{font-weight:700}
.multilingualWidget.inline.short-label.no-flag .other-languages a{border-left-color:transparent!important;border-left-width:0!important;border-left-style:none!important}.multilingualWidget.inline.short-label.no-flag .other-languages a:not(:last-child){padding-right:0;border-right-color:transparent!important;border-right-width:0!important;border-right-style:none!important}
.multilingualWidget.inline.short-label.no-flag a{position:relative;padding:8px 10px;font-size:12px;min-height:32px;height:auto;text-decoration:none}.multilingualWidget.inline.short-label.no-flag a:after{content:"/";position:absolute;top:8px;right:-7px;z-index:1;pointer-events:none}
.multilingualWidget.inline.short-label.no-flag a:hover .short-label{text-decoration:underline}.multilingualWidget.inline.short-label.no-flag .other-languages a:last-child:after{content:""}/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}
/* Custom Widgets Styles */
.widget-1f5975 .copyright {
  font-size: 13px;
  display: flex;
  text-align: left;
  justify-content: flex-start;
}

.widget-1f5975 .copyright-year {
  white-space: nowrap;
}

.widget-456526 {
  .distributor-locator {
    width: 100%;
    min-height: 100vh;
    display: grid;
    grid-template-areas: 
      "search"
      "map"
      "results";
    grid-template-rows: auto 1fr auto;
    gap: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    
    @media (min-width: 768px) {
      grid-template-areas: 
        "search search"
        "map results";
      grid-template-columns: 2fr 1fr;
      grid-template-rows: auto 1fr;
      min-height: 80vh;
    }
  }

  .search-section {
    grid-area: search;
    background: linear-gradient(135deg, var(--primary-color, #667eea) 0%, #764ba2 100%);
    color: white;
    padding: 2rem 1rem;
    
    @media (min-width: 768px) {
      padding: 3rem 2rem;
    }
  }

  .search-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
  }

  .search-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
    
    @media (min-width: 768px) {
      font-size: 2.5rem;
    }
  }

  .search-subtitle {
    font-size: 1.1rem;
    margin: 0 0 2rem 0;
    opacity: 0.9;
    line-height: 1.5;
  }

  .search-input-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 500px;
    margin: 0 auto;
    
    @media (min-width: 768px) {
      flex-direction: row;
    }
  }

  .search-input {
    flex: 1;
    padding: 1rem;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    
    &:focus {
      outline: none;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }
  }

  .search-button {
    padding: 1rem 2rem;
    background: var(--accent-color, #ff6b35);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    
    &:hover {
      background: #e55a2b;
      transform: translateY(-2px);
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    }
    
    &:active {
      transform: translateY(0);
    }
  }

  .map-section {
    grid-area: map;
    position: relative;
    min-height: 400px;
    
    @media (min-width: 768px) {
      min-height: 500px;
    }
  }

  .map-container {
    width: 100%;
    height: 100%;
    min-height: 400px;
    background: #f8f9fa;
    
    @media (min-width: 768px) {
      min-height: 500px;
    }
  }

  .map-controls {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1000;
  }

  .reset-button {
    padding: 0.5rem 1rem;
    background: white;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 0.9rem;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    
    &:hover {
      background: #f5f5f5;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    }
  }

  .results-section {
    grid-area: results;
    background: #f8f9fa;
    border-left: 1px solid #e9ecef;
    
    @media (max-width: 767px) {
      border-left: none;
      border-top: 1px solid #e9ecef;
    }
  }

  .results-container {
    padding: 1.5rem;
    height: 100%;
    overflow-y: auto;
    max-height: 500px;
    
    @media (min-width: 768px) {
      max-height: none;
    }
  }

  .results-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: #333;
  }

  .welcome-message {
    text-align: center;
    padding: 2rem 1rem;
    color: #666;
    
    .instructions {
      font-size: 1.1rem;
      margin-bottom: 1rem;
      line-height: 1.5;
    }
    
    .total-count {
      font-size: 0.95rem;
      color: var(--primary-color, #667eea);
      font-weight: 600;
      
      #total-distributors {
        font-size: 1.2rem;
        font-weight: 700;
      }
    }
  }

  .search-results-header {
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e9ecef;
    
    p {
      margin: 0.25rem 0;
      font-size: 0.9rem;
      
      &.results-count {
        color: var(--primary-color, #667eea);
        font-weight: 600;
      }
    }
  }

  .distributor-results {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .result-item {
    background: white;
    border-radius: 8px;
    padding: 1rem;
    border: 1px solid #e9ecef;
    cursor: pointer;
    transition: all 0.3s ease;
    
    &:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      border-color: var(--primary-color, #667eea);
    }
  }

  .result-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.5rem;
    gap: 1rem;
  }

  .result-name {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    color: #333;
    flex: 1;
    line-height: 1.3;
  }

  .result-distance {
    background: var(--primary-color, #667eea);
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .result-details {
    p {
      margin: 0.25rem 0;
      color: #666;
      font-size: 0.9rem;
      line-height: 1.4;
      
      &:first-child {
        margin-top: 0;
      }
      
      &:last-child {
        margin-bottom: 0;
      }
    }
    
    a {
      color: var(--primary-color, #667eea);
      text-decoration: none;
      
      &:hover {
        text-decoration: underline;
      }
    }
  }

  .no-results {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 2rem 1rem;
    line-height: 1.5;
  }

  .error-message {
    background: #f8d7da;
    color: #721c24;
    padding: 1rem;
    border-radius: 8px;
    border: 1px solid #f5c6cb;
    margin: 1rem 0;
    line-height: 1.5;
  }

  .success-message {
    background: #d4edda;
    color: #155724;
    padding: 1rem;
    border-radius: 8px;
    border: 1px solid #c3e6cb;
    margin: 0 0 1rem 0;
    line-height: 1.5;
  }

  .loading-indicator {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    
    .spinner {
      width: 40px;
      height: 40px;
      border: 4px solid #f3f3f3;
      border-top: 4px solid var(--primary-color, #667eea);
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin-bottom: 1rem;
    }
    
    p {
      color: #666;
      font-size: 1rem;
      text-align: center;
    }
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

  // Email button styling
  .email-distributor-btn {
    background: var(--primary-color, #667eea);
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    
    &:hover {
      background: #5a6fd8;
      transform: translateY(-1px);
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    }
    
    &:active {
      transform: translateY(0);
    }
  }

  // Email Modal Styles - Centered with proper positioning and 50px top spacing
  .email-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 50px 20px 20px 20px !important; // Increased top padding to 50px
  }

  .modal-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(3px);
    z-index: 9999998 !important;
  }

  .modal-content {
    position: relative !important;
    background: white !important;
    border-radius: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    width: 100%;
    max-width: 500px;
    max-height: calc(100vh - 100px); // Adjusted to account for increased padding
    overflow-y: auto;
    z-index: 9999999 !important;
    margin: 0 auto;
    margin-top: 25px; // Additional 25px margin from top
  }

  .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 1.5rem 0 1.5rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 1.5rem;
    
    h3 {
      margin: 0;
      font-size: 1.25rem;
      font-weight: 600;
      color: #111827;
    }
  }

  .close-button {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: #6b7280;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    
    &:hover {
      background: #f3f4f6;
      color: #374151;
    }
  }

  .modal-body {
    padding: 0 1.5rem 1.5rem 1.5rem;
  }

  .contact-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    
    label {
      font-weight: 500;
      color: #374151;
      font-size: 0.875rem;
    }
    
    input, textarea {
      padding: 0.75rem;
      border: 1px solid #d1d5db;
      border-radius: 6px;
      font-size: 0.875rem;
      transition: all 0.2s ease;
      
      &:focus {
        outline: none;
        border-color: var(--primary-color, #667eea);
        box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
      }
      
      &::placeholder {
        color: #9ca3af;
      }
    }
    
    textarea {
      resize: vertical;
      min-height: 100px;
    }
  }

  .form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1rem;
    
    @media (max-width: 480px) {
      flex-direction: column;
    }
  }

  .cancel-button {
    padding: 0.75rem 1.5rem;
    background: white;
    color: #374151;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    
    &:hover {
      background: #f9fafb;
      border-color: #9ca3af;
    }
  }

  .send-button {
    padding: 0.75rem 1.5rem;
    background: var(--primary-color, #667eea);
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    
    &:hover {
      background: #5a6fd8;
    }
    
    &:active {
      transform: translateY(1px);
    }
  }

  // Leaflet popup styling
  .popup-content {
    max-width: 300px;
    
    h4 {
      margin: 0 0 0.5rem 0;
      color: #333;
      font-size: 1.1rem;
      line-height: 1.3;
    }
    
    p {
      margin: 0.5rem 0;
      color: #666;
      font-size: 0.9rem;
      line-height: 1.4;
      
      &:first-of-type {
        margin-top: 0;
      }
      
      &:last-child {
        margin-bottom: 0;
      }
    }
    
    a {
      color: var(--primary-color, #667eea);
      text-decoration: none;
      
      &:hover {
        text-decoration: underline;
      }
    }
    
    strong {
      color: #333;
    }
  }

  // Custom user location marker
  .user-location-marker {
    background: none !important;
    border: none !important;
  }

  // Mobile optimizations
  @media (max-width: 767px) {
    .distributor-locator {
      min-height: 100vh;
    }
    
    .search-section {
      padding: 1.5rem 1rem;
    }
    
    .search-title {
      font-size: 1.75rem;
    }
    
    .search-subtitle {
      font-size: 1rem;
    }
    
    .map-section {
      min-height: 300px;
    }
    
    .map-container {
      min-height: 300px;
    }
    
    .results-container {
      padding: 1rem;
      max-height: 400px;
    }
    
    .result-header {
      flex-direction: column;
      gap: 0.5rem;
      
      .result-distance {
        align-self: flex-start;
      }
    }

    .email-modal {
      padding: 30px 10px 10px 10px !important; // Adjusted for mobile
    }

    .modal-content {
      max-height: calc(100vh - 40px);
      max-width: calc(100vw - 20px);
      margin-top: 15px; // Reduced margin for mobile
    }
    
    .modal-header, .modal-body {
      padding-left: 1rem;
      padding-right: 1rem;
    }
  }

  // Tablet optimizations
  @media (min-width: 768px) and (max-width: 1024px) {
    .search-title {
      font-size: 2.2rem;
    }
    
    .map-section {
      min-height: 450px;
    }
    
    .map-container {
      min-height: 450px;
    }
  }
}
