@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.gradient-text {
    background: linear-gradient(135deg, #E01F26, #9E161B);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.smile-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.smile-card:hover {
    transform: translateY(-5px);
}

.tech-tag {
    background-color: rgb(30, 41, 59);
    border: 1px solid rgb(51, 65, 85);
    padding: 0.5rem 1rem;
    border-radius: 0.75rem;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgb(248, 113, 113);
}

.journey-step {
    border: 2px solid #f1f5f9;
    background-color: #ffffff;
    padding: 2.5rem;
    border-radius: 2.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.journey-step:hover {
    border-color: #ef4444;
}


@layer utilities {
  .total-smile-heading {
    @apply text-4xl lg:text-7xl font-black mb-6 uppercase tracking-tighter leading-none;
  }
}


.package-content ul {
    list-style: none;
    padding-left: 0;
}

.package-content ul li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
}

.package-content ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #22c55e;
    font-weight: bold;
}





.package-content-1 ul {
    list-style: none;
    padding-left: 0;
}

.package-content-1 ul li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
	color:#fff;
}

.package-content-1 ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
    font-weight: bold;
}



.custom-submit-btn {
    width: 100%;
    background-color: #dc2626; /* bg-red-600 */
    padding-top: 1.5rem;      /* py-6 */
    padding-bottom: 1.5rem;
    border-radius: 1rem;      /* rounded-2xl */
    color: #ffffff;
    font-weight: 900;         /* font-black */
    text-transform: uppercase;
    letter-spacing: 0.2em;    /* tracking-[0.2em] */
    margin-top: 1.5rem;       /* mt-6 */
    box-shadow: 0 25px 50px -12px rgba(191, 219, 254, 0.8); /* shadow-2xl + shadow-blue-200 */
    transition: all 0.3s ease;
    cursor: pointer;
}

.custom-submit-btn:hover {
    background-color: #b91c1c; /* bg-red-700 */
    transform: translateY(-0.25rem); /* -translate-y-1 */
}

.custom-submit-btn:active {
    transform: scale(0.95);
}


/* */

.contactforms  input[type="text"],
.contactforms  input[type="tel"],
.contactforms  input[type="email"],
.contactforms  textarea,
.contactforms  select {
    padding: 1rem 1.5rem;
    border-radius: 1rem;
    background-color: #f8fafc;
    border: 1px solid #333;
    color: #0f172a;
    font-weight: 700;
    outline: none;
    transition: all 0.3s ease;
	width:100%;
}

.contactforms  input[type="text"]:focus,
.contactforms  input[type="tel"]:focus,
.contactforms  input[type="email"]:focus,
.contactforms textarea:focus,
.contactforms  select:focus {
    border-color: #2563eb;
    background-color: #ffffff;
    outline: none;
}


.contactforms{
	
}





.custom-grid {
    display: grid;
    gap: 1.5rem; /* gap-6 */
}

/* sm:grid-cols-2 (640px and above) */
@media (min-width: 640px) {
    .custom-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


.owl-nav {
    margin-top: 30px !important;
}

.owl-prev,
.owl-next {
    width: 50px;
    height: 50px;
    border-radius: 50% !important;
    background: #dc2626 !important;
    color: #fff !important;
    font-size: 24px !important;
    margin: 0 5px !important;
}

.owl-prev:hover,
.owl-next:hover {
    background: #b91c1c !important;
}

.owl-dots {
    margin-top: 20px;
}


.footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links  li {
    margin-bottom: 1.25rem; /* space-y-5 */
}

.footer-links a {
    font-weight: 700; /* font-bold */
    color: #64748b; /* text-slate-500 */
    text-decoration: none;
    transition: color 0.3s ease; /* transition-colors */
}

.footer-links a:hover {
    color: #dc2626; /* text-red-600 */
}



.resource-list {
    list-style: none;
    margin: 0 0 3rem;
    padding: 0;
    font-weight: 700;
    color: #fee2e2;
	font-size:20px;
}

.resource-list li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
}

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

.resource-list li::before {
    content: "\f058"; /* Font Awesome check-circle */
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0;
	font-size:20px;
}

/* Newsletter container */
.cf7-newsletter {
    width: 100%;
}

/* 2 columns */
.cf7-newsletter-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    width: 100%;
}

/* Remove CF7 automatic <p> wrappers */
.cf7-newsletter-fields > p {
    display: contents;
    margin: 0;
}

/* All field wrappers */
.cf7-newsletter-fields .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Email + WhatsApp + Language */
.cf7-newsletter .wpcf7-email,
.cf7-newsletter .wpcf7-tel,
.cf7-newsletter .wpcf7-select {
    width: 100%;
    height: auto;
    padding: 1.25rem 2rem;
    border-radius: 1rem;
    border: 2px solid rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-weight: 700;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* Select dropdown */
.cf7-newsletter .wpcf7-select {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

/* Select options */
.cf7-newsletter .wpcf7-select option {
    color: #0f172a;
    background: #fff;
}

/* Placeholder */
.cf7-newsletter .wpcf7-email::placeholder,
.cf7-newsletter .wpcf7-tel::placeholder {
    color: #fecaca;
}

/* Focus */
.cf7-newsletter .wpcf7-email:focus,
.cf7-newsletter .wpcf7-tel:focus,
.cf7-newsletter .wpcf7-select:focus {
    background: #fff;
    color: #0f172a;
    border-color: #fff;
}

/* Submit button - second row, right column */
.cf7-newsletter-button {
    width: 100%;
    margin: 0;
}

/* Remove paragraph margin around button */
.cf7-newsletter-button > p {
    margin: 0;
}

/* Submit */
.cf7-newsletter .wpcf7-submit {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 64px;
    background: #fff;
    color: #dc2626;
    padding: 1.25rem 2.5rem;
    border-radius: 1rem;
    border: none;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-sizing: border-box;
}

.cf7-newsletter .wpcf7-submit:hover {
    background: #eff6ff;
}

/* Hide spinner */
.cf7-newsletter .wpcf7-spinner {
    display: none;
}

/* Mobile */
@media (max-width: 640px) {

    .cf7-newsletter-fields {
        grid-template-columns: 1fr;
    }

    .cf7-newsletter-button {
        width: 100%;
    }
}



.mobile-menu {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu li a {
    font-size: 0.875rem; /* text-sm */
    font-weight: 700; /* font-bold */
    text-transform: uppercase;
    color: #1e293b; /* slate-800 */
    text-decoration: none;
    transition: color 0.3s ease;
}

.mobile-menu li a:hover,
.mobile-menu li a:focus {
    color: #dc2626; /* red-600 */
}

@media (max-width: 768px) {
    .mobile-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}



/* Style the menu item container */
.menu-tooltip {
    position: relative;
}

/* Create the tooltip box using the title attribute data */
.menu-tooltip:hover::after {
    content: attr(title);
    position: absolute;
    bottom: -35px; /* Adjusts how far below the menu the tooltip appears */
    left: 50%;
    transform: translateX(-50%);
    background-color: #333; /* Tooltip background color */
    color: #fff; /* Tooltip text color */
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 99999;
    box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
}

/* Full width */
.iti{
    width:100%;
}

/* Input text */
.iti input{
    width:100%;
    color:#000 !important;
}

/* Selected dial code (+91) */
.iti__selected-dial-code{
    color:#000 !important;
    font-weight:600;
}

/* Dropdown text */
.iti__country-name,
.iti__dial-code{
    color:#000 !important;
}

/* Selected country area */
.iti__selected-country{
    color:#000 !important;
}

/* Placeholder */
.iti input::placeholder{
    color:#666;
}

.iti__country-name{
   /* display:none !important;*/
}
