
/* Mi Smile Orthodontics – styles.min.css
   Minimal utility CSS covering classes used in the HTML, so Tailwind CDN
   is no longer needed at runtime.
   Breakpoints: sm=640px, md=768px, lg=1024px
*/
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1f2937;background:#fff}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
/* Containers */
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}
@media(min-width:640px){.container{max-width:640px}}
@media(min-width:768px){.container{max-width:768px}}
@media(min-width:1024px){.container{max-width:1024px}}
@media(min-width:1280px){.container{max-width:1280px}}
/* Layout / display */
.hidden{display:none}
.block{display:block}
.inline-block{display:inline-block}
.flex{display:flex}
.grid{display:grid}
.relative{position:relative}
.absolute{position:absolute}
.sticky{position:sticky}
.top-0{top:0}
.inset-0{top:0;right:0;bottom:0;left:0}
.z-50{z-index:50}
/* Flex / grid utilities */
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.text-center{text-align:center}
.text-right{text-align:right}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-12{gap:3rem}
.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}
/* Grid columns */
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))} .sm\:col-span-1{grid-column:span 1/span 1} .sm\:col-span-2{grid-column:span 2/span 2} .sm\:text-sm{font-size:.875rem;line-height:1.25rem}}
@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))} .md\:text-6xl{font-size:3.75rem;line-height:1} .md\:p-12{padding:3rem} .md\:flex{display:flex}}
@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))} .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))} .lg\:flex{display:flex} .lg\:hidden{display:none}}
/* Sizing */
.w-full{width:100%}
.h-full{height:100%}
.w-6{width:1.5rem}.h-6{height:1.5rem}
.w-10{width:2.5rem}.h-10{height:2.5rem}
.w-16{width:4rem}.h-16{height:4rem}
.w-24{width:6rem}.h-24{height:6rem}
.w-fit{width:fit-content}
.h-\[60vh\]{height:60vh}
.min-h-\[400px\]{min-height:400px}
/* Spacing */
.mx-auto{margin-left:auto;margin-right:auto}
.ml-4{margin-left:1rem}
.mt-1{margin-top:.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mb-2{margin-bottom:.5rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.p-4{padding:1rem}
.p-8{padding:2rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-8{padding-top:2rem}
/* Max widths */
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
/* Typography */
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-6xl{font-size:3.75rem;line-height:1}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.leading-tight{line-height:1.25}
.underline{text-decoration:underline}
.hover\:underline:hover{text-decoration:underline}
/* Colors */
.text-white{color:#fff}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-gray-800{color:#1f2937}
.text-purple-200{color:#e9d5ff}
.bg-white{background-color:#fff}
.bg-gray-50{background-color:#f9fafb}
.bg-purple-900{background-color:#4c1d95}
.bg-opacity-50{opacity:.0}
.hover\:bg-gray-200:hover{background-color:#e5e7eb}
.hover\:text-yellow-300:hover{color:#fcd34d}
/* Sizing helpers */
.object-cover{object-fit:cover}
/* Borders / radius / shadows */
.border{border-width:1px}
.border-gray-300{border-color:#d1d5db}
.border-purple-500{border-color:#a855f7}
.rounded-md{border-radius:.375rem}
.rounded-lg{border-radius:.5rem}
.rounded-full{border-radius:9999px}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
/* Forms (focus ring/border) */
input,select,textarea{border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem;outline:0;box-shadow:0 1px 2px rgba(0,0,0,.03)}
input:focus,select:focus,textarea:focus{border-color:#9e6dc5;outline:2px solid #9e6dc5;outline-offset:2px}
/* Aspect ratio helper */
.aspect-w-16.aspect-h-9{aspect-ratio:16/9}
/* Helper utilities used by the page (custom brand classes) */
.top-bar-bg{background-color:#9e6dc5}
.hero-bg{background-color:#9e6dc5}
.section-bg{background-color:#F5F3FF}
.primary-btn{background-color:#FBBF24;color:#4C1D95;transition:background-color .2s ease}
.primary-btn:hover{background-color:#F59E0B}
.secondary-btn,.call-now-btn,.payment-plan-btn{background-color:#9e6dc5;color:#fff;transition:background-color .2s ease}
.secondary-btn:hover,.call-now-btn:hover,.payment-plan-btn:hover{background-color:#8a5db3}
.card{background:#fff;border:1px solid #E5E7EB;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.service-card{background:#F5F3FF;border-radius:.75rem;padding:2rem;display:flex;flex-direction:column}
.service-card p{flex-grow:1}
.textchange-purple-600{color:#9e6dc5}
.textchange-purple-800{color:#9e6dc5}
.textchange-purple-700{color:#fff}
.bgchange-purple-200{background-color:#9e6dc5}
.bgchange-purple-600{background-color:#9e6dc5}
/* Cookie banner */
#cookieConsentBanner{position:fixed;bottom:0;left:0;right:0;background:#1f2937;color:#fff;padding:14px;z-index:9999;display:none}
#cookieConsentBanner a{color:#fbbf24;text-decoration:underline}
#cookieConsentBanner .btn{border:0;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer}
#cookieConsentBanner .btn-accept{background:#10b981;color:#fff}
#cookieConsentBanner .btn-reject{background:#ef4444;color:#fff;margin-left:.5rem}
/* Display helpers for nav */
.lg\:flex{display:none}
@media(min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none !important}}
/* Map iframe rounding */
iframe.rounded-lg{border-radius:.5rem}
