Listings, Articles and Events in Worldwide Wedding Suppliers near Catalonia

Luxury Services for Global Celebrations

Are you planning a destination wedding? Our worldwide wedding suppliers offer top-tier services, from luxury planners to expert photographers and bespoke caterers. Whether you’re hosting a beach wedding in Bali or a romantic ceremony in Paris, these professionals ensure your celebration is flawless. With experience in delivering high-end services globally, they bring your vision to life. Discover our trusted global wedding suppliers and make your dream wedding a reality anywhere in the world.

Showing 2 of 2 results
Avda. Aragó 4-6 A 08105 Sant Fost de Campsentelle, Barcelona, Catalonia 8105, Spain
50.11 mi from Catalonia
Luxury Wedding Planner in Spain. Make it happen BCN is the best partner you can find to organize your bespoke wedding, event or celebration in Barcelona & Southern Europe. We are a fresh qualified Wedding and Event Planning team established in 2014.
London, England WC2N 5DU, United Kingdom
695.32 mi from Catalonia
Jacob and Pauline are a destination wedding photographer and filmmaker. Voted the best wedding photographer in the UK and The Official photographers of The Royal wedding in Qatar.

Destination Dreams, Curated to Perfection

Choose Your Dream Setting

Discover More Places

<style>
/* Center and resize the vendor logo correctly on all devices */
#send-email-logo {
  display: block;
  margin: 0 auto 20px auto;
  max-width: 100px; /* ✅ max width controlled */
  width: auto;
  height: auto;
  object-fit: contain; /* ✅ ensures full logo fits inside nicely */
  padding: 10px 0;
}

/* Keep the modal-picture visible on mobile now */
.modal-picture {
  text-align: center;
  padding: 10px 0;
}

/* Input and text area styling */
.modal-form input, 
.modal-form textarea {
  border-radius: 3px !important;
  box-sizing: border-box;
}

/* Button styling */
.modal-form button[type="submit"], 
.modal-form .button.is-primary {
  padding: 16px 24px;
  font-size: 18px;
  border-radius: 3px;
  background-color: #5E6F5E;
  color: #ffffff;
  border: none;
  margin-top: 16px;
  height: 56px;
  width: 100%;
  max-width: 100%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}

/* Cancel button styling */
.modal-form button.cancel-button, 
.modal-form .button-cancel {
  height: 56px;
  font-size: 18px;
  border-radius: 3px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}
</style>

<script>
document.addEventListener('click', function(e) {
  setTimeout(function() {
    var form = document.querySelector('.modal-form');

    if (form && !form.querySelector('input[name="guest_count"]')) {
      // If logo is missing, hide the modal-picture
      var logo = document.querySelector('#send-email-logo');
      if (!logo || logo.src.includes('default') || logo.src.trim() === '') {
        var pictureDiv = document.querySelector('.modal-picture');
        if (pictureDiv) {
          pictureDiv.style.display = 'none';
        }
      } else {
        // Ensure logo is centered and fits properly if exists
        logo.style.objectFit = 'contain';
        logo.style.width = 'auto';
        logo.style.maxWidth = '100px';
        logo.style.height = 'auto';
        logo.style.margin = '0 auto 20px auto';
        logo.style.display = 'block';
      }

      // Change the submit button
      var sendButton = form.querySelector('button[type="submit"], .button.is-primary');
      if (sendButton) {
        sendButton.innerText = 'Check Availability';
        sendButton.style.padding = '16px 24px';
        sendButton.style.fontSize = '18px';
        sendButton.style.borderRadius = '3px';
        sendButton.style.boxShadow = '0 3px 6px rgba(0,0,0,0.1)';
        sendButton.style.backgroundColor = '#5E6F5E';
        sendButton.style.color = '#ffffff';
        sendButton.style.border = 'none';
        sendButton.style.marginTop = '16px';
        sendButton.style.height = '56px';
        sendButton.style.width = '100%';
        sendButton.style.maxWidth = '100%';
      }

      // Cancel button style
      var cancelButton = form.querySelector('button.cancel-button, .button-cancel');
      if (cancelButton) {
        cancelButton.style.height = '56px';
        cancelButton.style.fontSize = '18px';
        cancelButton.style.borderRadius = '3px';
        cancelButton.style.boxShadow = '0 3px 6px rgba(0,0,0,0.1)';
      }

      // Create Guest Numbers input
      var guestsInput = document.createElement('input');
      guestsInput.setAttribute('type', 'text');
      guestsInput.setAttribute('name', 'guest_count');
      guestsInput.setAttribute('placeholder', 'Guest numbers');
      guestsInput.style.width = '100%';
      guestsInput.style.padding = '12px 14px';
      guestsInput.style.fontSize = '16px';
      guestsInput.style.border = '1px solid #ccc';
      guestsInput.style.borderRadius = '3px';
      guestsInput.style.boxSizing = 'border-box';
      guestsInput.style.marginTop = '12px';

      // Create Event Date input
      var eventInput = document.createElement('input');
      eventInput.setAttribute('type', 'text');
      eventInput.setAttribute('name', 'event_date');
      eventInput.setAttribute('placeholder', 'Event date');
      eventInput.style.width = '100%';
      eventInput.style.padding = '12px 14px';
      eventInput.style.fontSize = '16px';
      eventInput.style.border = '1px solid #ccc';
      eventInput.style.borderRadius = '3px';
      eventInput.style.boxSizing = 'border-box';
      eventInput.style.marginTop = '12px';

      // Insert both new fields before the message box
      var messageBox = form.querySelector('textarea');
      if (messageBox) {
        messageBox.parentNode.insertBefore(guestsInput, messageBox);
        messageBox.parentNode.insertBefore(eventInput, messageBox);
      }
    }
  }, 300);
});
</script>