.tdn-wrap {
display: flex;
justify-content: center;
margin: 80px 0;
}
.tdn-border {
max-width: 1100px;
width: 100%;
padding: 6px;
border-radius: 28px;
background: linear-gradient(90deg,#00ff9c,#00c3ff,#7a00ff,#ff006a,#00ff9c);
background-size: 500% 500%;
animation: tdnRGB 2.5s linear infinite;
}
@keyframes tdnRGB {
0% {background-position:0%}
100% {background-position:100%}
}
.tdn-box {
background:#fff;
border-radius:22px;
padding:36px;
}
.tdn-box h2,
.tdn-box p {
text-align:center;
}
.tdn-input, .tdn-select {
width:100%;
padding:14px;
border-radius:14px;
border:1px solid #ddd;
margin-bottom:14px;
}
.tdn-btn {
width:100%;
padding:18px;
border-radius:40px;
border:none;
font-size:18px;
font-weight:700;
background:linear-gradient(90deg,#ff4f7a,#ff7a18);
color:#fff;
cursor:pointer;
}
.tdn-names {
display:flex;
flex-wrap:wrap;
gap:12px;
justify-content:center;
margin-top:25px;
}
.tdn-name {
background:#f4f4f4;
padding:10px 18px;
border-radius:20px;
font-size:14px;
}
.tdn-actions {
display:flex;
justify-content:center;
gap:14px;
margin-top:22px;
}
.tdn-actions button {
padding:10px 22px;
border-radius:22px;
border:1px solid #ccc;
cursor:pointer;
}
.tdn-related {
margin-top:40px;
}
/* MOBILE FIX: Prevent submit button overlap */
@media (max-width: 768px) {
.tdn-related {
margin-bottom: 30px;
}
.tdn-box > div:last-child {
margin-top: 25px;
padding-bottom: 10px;
}
.tdn-box a[href*="submit-dog-name"] {
display: inline-block;
margin-bottom: 20px;
}
}
🐶 What Dog Names Are Trending Near You?
Discover trending, neighbourhood & unique dog names loved around you
🌍 Choose Other Location
Delhi, India
Mumbai, India
London, UK
New York, USA
Sydney, Australia
Berlin, Germany
Any Gender
Male
Female
Unisex
Puppy
Strong
Cute
Any Name Type
Trending
Funny 😂
Unique
Royal
Mythology
Short & Cute
Powerful
Indian
International
✨ GENERATE NAMES
🐾 Discover Trending & Neighbourhood Dog Names
📋 Copy
❤️ Save
const namesPool = [
"Luna","Milo","Bella","Rocky","Leo","Nala","Oreo","Zara","Bruno","Nova",
"Charlie","Lucy","Jack","Daisy","Kai","Ruby","Max","Coco","Toby","Simba",
"Rex","Thor","Apollo","Ghost","Ace","Finn","Bolt","Atlas","Storm","Sunny"
];
let rotation = 0;
function generateNames() {
const box = document.getElementById("names");
box.innerHTML = "";
const shuffled = [...namesPool].sort(() => Math.random() - 0.5);
shuffled.slice(rotation, rotation+15).forEach(n=>{
const d=document.createElement("div");
d.className="tdn-name";
d.textContent="🐾 "+n;
box.appendChild(d);
});
rotation = (rotation + 5) % namesPool.length;
}
function copyNames() {
const txt=[...document.querySelectorAll(".tdn-name")].map(n=>n.textContent).join(", ");
navigator.clipboard.writeText(txt);
alert("Copied!");
}
function saveNames() {
localStorage.setItem("savedNames",JSON.stringify([...document.querySelectorAll(".tdn-name")].map(n=>n.textContent)));
alert("Saved!");
}
function loadArticles() {
fetch('/wp-json/wp/v2/posts?per_page=20&_fields=title,link')
.then(r => r.json())
.then(posts => {
const ul = document.getElementById("articles");
ul.innerHTML = "";
// Randomize articles
posts.sort(() => Math.random() - 0.5);
posts.slice(0, 3).forEach(p => {
const li = document.createElement("li");
li.innerHTML = `
${p.title.rendered} `;
ul.appendChild(li);
});
});
}
document.addEventListener("DOMContentLoaded", loadArticles);
/* Near Me Detection */
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(pos=>{
fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${pos.coords.latitude}&lon=${pos.coords.longitude}`)
.then(r=>r.json())
.then(d=>{
document.getElementById("nearMe").innerHTML =
`📍 ${d.address.city || d.address.state}, ${d.address.country}`;
});
}, fallback);
} else fallback();
function fallback(){
fetch('https://ipapi.co/json/')
.then(r=>r.json())
.then(d=>{
document.getElementById("nearMe").innerHTML =
`📍 ${d.city}, ${d.country_name}`;
});
}