.about-story-section{position:relative}.about-story-title{background:linear-gradient(135deg,#1e40af 0,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-story-section.bg-gray-900 .about-story-title{background:linear-gradient(135deg,#60a5fa 0,#93c5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.story-content{opacity:0;transform:translateX(-30px);animation:slideInLeft .8s ease-out forwards;animation-delay:.2s}.story-image{opacity:0;transform:translateX(30px);animation:slideInRight .8s ease-out forwards;animation-delay:.4s}@keyframes slideInLeft{to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{to{opacity:1;transform:translateX(0)}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.about-story-section .prose,.story-content .prose{color:inherit}.story-content .prose p{font-size:1.125rem;line-height:1.7;margin-bottom:1.5rem}.story-content .prose p:last-child{margin-bottom:0}.story-image .relative::after{content:'';position:absolute;inset:0;background:linear-gradient(45deg,rgba(59,130,246,.05),rgba(29,78,216,.05));opacity:0;transition:opacity .3s ease}.story-image:hover .relative::after{opacity:1}@media (max-width:1024px){.story-content,.story-image{animation:fadeInUp .6s ease-out forwards;animation-delay:.2s}}@media (max-width:768px){.about-story-title{font-size:2rem;line-height:1.2}.story-image .h-96{height:16rem}}@media (prefers-reduced-motion:reduce){.story-content,.story-image{animation:none;opacity:1;transform:none}.story-image .relative::after{transition:none}}.about-story-section a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.25rem}@media (prefers-contrast:high){.about-story-title{-webkit-text-fill-color:#1f2937;color:#1f2937}.about-story-section.bg-gray-900 .about-story-title{-webkit-text-fill-color:#f3f4f6;color:#f3f4f6}}@media print{.about-story-section{background:#fff!important;color:#000!important}.story-image{break-inside:avoid}}.about-story-section.loading{opacity:.7;pointer-events:none}.about-story-section.loading::after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.about-story-section .prose::-webkit-scrollbar,.story-content::-webkit-scrollbar{width:6px}.about-story-section .prose::-webkit-scrollbar-track,.story-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.about-story-section .prose::-webkit-scrollbar-thumb,.story-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.about-story-section .prose::-webkit-scrollbar-thumb:hover,.story-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.about-us-section{position:relative}.about-title{font-weight:800;letter-spacing:-.02em;line-height:1.1}.about-content{color:#374151;line-height:1.8;font-size:1.525rem}.about-content h3{color:#1f2937;font-weight:700;font-size:1.5rem;margin-top:2rem;margin-bottom:1rem}.about-content p{margin-bottom:1.5rem}.about-content strong{color:#1f2937;font-weight:600}.about-content ul{margin:1.5rem 0;padding-left:1.5rem}.about-content li{margin-bottom:.75rem;position:relative}.about-content li::marker{color:#2563eb}.about-us-section .aspect-square{aspect-ratio:1/1}.about-us-section .max-w-sm{max-width:20rem}.about-us-section .bg-gradient-to-r{position:relative;overflow:hidden}.about-us-section .bg-gradient-to-r::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="%23ffffff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3;pointer-events:none}.about-us-section a[class*=bg-blue-600]{position:relative;overflow:hidden}.about-us-section a[class*=bg-blue-600]::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.about-us-section a[class*=bg-blue-600]:hover::before{left:100%}@media (max-width:1024px){.about-us-section .lg\\:order-1,.about-us-section .lg\\:order-2{order:initial}.about-us-section .lg\\:col-span-2{grid-column:span 1;text-align:center;margin-bottom:2rem}.about-us-section .lg\\:grid-cols-3{grid-template-columns:1fr;gap:3rem}}@media (max-width:768px){.about-us-section{padding-top:3rem;padding-bottom:3rem}.about-title{font-size:2rem!important;line-height:1.2}.about-content{font-size:1rem}.about-us-section .grid.grid-cols-2{grid-template-columns:1fr;gap:2rem}.about-us-section .text-4xl{font-size:2.5rem!important}.about-us-section .lg\\:text-5xl{font-size:2.5rem!important}}@media (max-width:640px){.about-title{font-size:1.75rem!important}.about-us-section .max-w-sm{max-width:16rem}.about-us-section .text-4xl{font-size:2rem!important}}.blog-hero-header{position:relative;min-height:40vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e40af 0,#3b82f6 100%);overflow:hidden}.blog-hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.blog-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);z-index:2}.blog-hero-content{position:relative;z-index:3;width:100%;color:#fff;text-align:center;padding:2rem 0}.blog-breadcrumbs{margin-bottom:1.5rem}.breadcrumb-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem;opacity:.9}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-link{display:flex;align-items:center;color:#fff;text-decoration:none;transition:opacity .3s ease}.breadcrumb-link:hover{opacity:.8;text-decoration:underline}.breadcrumb-separator{display:flex;align-items:center;opacity:.6}.breadcrumb-current{opacity:.8;font-weight:500}.blog-hero-title{font-size:3rem;font-weight:800;line-height:1.2;margin-bottom:1rem}.blog-hero-description{font-size:1.25rem;opacity:.9;max-width:2xl;margin:0 auto}.blog-main{background:#fff}.blog-posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}.blog-post-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);overflow:hidden;transition:all .3s ease;border:1px solid #f3f4f6}.blog-post-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1);border-color:#e5e7eb}.post-card-image{position:relative;overflow:hidden;aspect-ratio:16/9}.post-thumbnail{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.image-link{display:block;position:relative;overflow:hidden}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.image-link:hover .image-overlay{opacity:1}.image-link:hover .post-thumbnail{transform:scale(1.05)}.read-icon{width:2rem;height:2rem;color:#fff}.post-card-content{padding:1.5rem}.post-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:.875rem;color:#6b7280}.post-meta-item{display:flex;align-items:center}.post-meta-item svg{flex-shrink:0}.post-meta-item a{color:#6b7280;text-decoration:none;transition:color .3s ease}.post-meta-item a:hover{color:#3b82f6}.post-card-title{margin-bottom:1rem}.title-link{font-size:1.25rem;font-weight:700;line-height:1.4;color:#1f2937;text-decoration:none;transition:color .3s ease}.title-link:hover{color:#3b82f6}.post-card-excerpt{color:#6b7280;line-height:1.6;margin-bottom:1.5rem}.post-card-excerpt p{margin:0}.post-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid #f3f4f6}.read-more-btn{display:inline-flex;align-items:center;color:#3b82f6;font-weight:600;text-decoration:none;transition:all .3s ease}.read-more-btn:hover{color:#1d4ed8;transform:translateX(2px)}.post-author{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#6b7280}.author-label{color:#9ca3af}.author-link{color:#6b7280;text-decoration:none;font-weight:500;transition:color .3s ease}.author-link:hover{color:#3b82f6}.blog-pagination{display:flex;justify-content:center;margin-top:3rem}.blog-pagination .nav-links{display:flex;align-items:center;gap:.5rem}.blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;text-decoration:none;font-weight:500;transition:all .3s ease}.blog-pagination .page-numbers.current,.blog-pagination .page-numbers:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.blog-pagination .page-numbers.next,.blog-pagination .page-numbers.prev{padding:.5rem 1rem;gap:.5rem}.blog-pagination .page-numbers.dots{border:none;background:0 0;cursor:default}.blog-pagination .page-numbers.dots:hover{background:0 0;color:#6b7280}.no-posts-found{display:flex;align-items:center;justify-content:center;min-height:50vh}.no-posts-content{text-align:center;max-width:28rem}.no-posts-icon{display:flex;justify-content:center;margin-bottom:1.5rem;color:#9ca3af}.no-posts-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.no-posts-description{color:#6b7280;line-height:1.6;margin-bottom:2rem}.back-home-btn{display:inline-flex;align-items:center;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;text-decoration:none;border-radius:.5rem;font-weight:600;transition:all .3s ease}.back-home-btn:hover{background:#1d4ed8;transform:translateY(-1px)}@media (max-width:1024px){.blog-posts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.blog-hero-title{font-size:2.5rem}.blog-hero-description{font-size:1.125rem}}@media (max-width:768px){.blog-hero-header{min-height:30vh}.blog-hero-title{font-size:2rem}.blog-hero-description{font-size:1rem}.blog-posts-grid{grid-template-columns:1fr;gap:1.5rem}.post-card-content{padding:1.25rem}.post-card-footer{flex-direction:column;align-items:flex-start;gap:1rem}.post-card-meta{gap:.75rem;font-size:.8125rem}.breadcrumb-list{justify-content:flex-start;font-size:.8125rem}.blog-pagination .page-numbers.next,.blog-pagination .page-numbers.prev{padding:.5rem .75rem;font-size:.875rem}}@media (max-width:480px){.blog-posts-grid{grid-template-columns:1fr}.post-card-image{aspect-ratio:4/3}.blog-pagination .nav-links{flex-wrap:wrap;justify-content:center}}@media print{.blog-hero-header{background:#fff!important;color:#000!important;min-height:auto;padding:2rem 0}.blog-hero-background,.blog-hero-overlay{display:none}.blog-pagination,.image-overlay{display:none}.blog-post-card{box-shadow:none;border:1px solid #e5e7eb;break-inside:avoid;margin-bottom:2rem}}@media (prefers-reduced-motion:reduce){.back-home-btn,.blog-post-card,.image-overlay,.post-thumbnail,.read-more-btn{transition:none;transform:none}}@media (prefers-contrast:high){.blog-post-card{border:2px solid #374151}.breadcrumb-link:hover{background:#fff;color:#000}.blog-pagination .page-numbers.current,.blog-pagination .page-numbers:hover{background:#1f2937;border-color:#1f2937}}.contact-us-section{position:relative}.contact-title{background:linear-gradient(135deg,#1e40af 0,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-us-section.bg-gray-900 .contact-title{background:linear-gradient(135deg,#60a5fa 0,#93c5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-block{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.contact-block:nth-child(1){animation-delay:.1s}.contact-block:nth-child(2){animation-delay:.2s}.contact-block:nth-child(3){animation-delay:.3s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.contact-block>div{transition:all .3s ease;border:1px solid transparent}.contact-block>div:hover{border-color:#e5e7eb;transform:translateY(-4px)}.contact-us-section.bg-gray-900 .contact-block>div:hover{border-color:#374151}.contact-block .w-12.h-12,.contact-block .w-16.h-16{transition:all .3s ease}.contact-block:hover .w-12.h-12,.contact-block:hover .w-16.h-16{transform:scale(1.1);background:linear-gradient(135deg,#dbeafe 0,#bfdbfe 100%)}.contact-form{opacity:0;transform:translateX(-30px);animation:slideInLeft .8s ease-out forwards;animation-delay:.4s}@keyframes slideInLeft{to{opacity:1;transform:translateX(0)}}.contact-form .frm_form_fields{background:0 0!important}.contact-form .frm_form_field{margin-bottom:1.5rem}.contact-form .frm_form_field label{font-weight:600;color:#374151;margin-bottom:.5rem;display:block}.contact-us-section.bg-gray-900 .contact-form .frm_form_field label{color:#f3f4f6}.contact-form .frm_form_field input[type=email],.contact-form .frm_form_field input[type=tel],.contact-form .frm_form_field input[type=text],.contact-form .frm_form_field select,.contact-form .frm_form_field textarea{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:.75rem;background:#fff;font-size:1rem;transition:all .3s ease;outline:0}.contact-us-section.bg-gray-900 .contact-form .frm_form_field input[type=email],.contact-us-section.bg-gray-900 .contact-form .frm_form_field input[type=tel],.contact-us-section.bg-gray-900 .contact-form .frm_form_field input[type=text],.contact-us-section.bg-gray-900 .contact-form .frm_form_field select,.contact-us-section.bg-gray-900 .contact-form .frm_form_field textarea{background:#1f2937;border-color:#374151;color:#f3f4f6}.contact-form .frm_form_field input:focus,.contact-form .frm_form_field select:focus,.contact-form .frm_form_field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.contact-form .frm_form_field textarea{min-height:120px;resize:vertical}.contact-form .frm_submit button,.contact-form .frm_submit input[type=submit]{background:linear-gradient(135deg,#3b82f6 0,#1d4ed8 100%);color:#fff;padding:.875rem 2rem;border:none;border-radius:.75rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.contact-form .frm_submit button:hover,.contact-form .frm_submit input[type=submit]:hover{background:linear-gradient(135deg,#1d4ed8 0,#1e40af 100%);transform:translateY(-2px);box-shadow:0 8px 15px -3px rgba(0,0,0,.2)}.contact-form .frm_error_style{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:.5rem;margin-top:.5rem;font-size:.875rem}.contact-us-section.bg-gray-900 .contact-form .frm_error_style{background:#7f1d1d;border-color:#dc2626;color:#fca5a5}.contact-form .frm_message{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:1rem;border-radius:.75rem;margin-bottom:1rem;font-weight:500}.contact-us-section.bg-gray-900 .contact-form .frm_message{background:#064e3b;border-color:#059669;color:#6ee7b7}.contact-map{opacity:0;transform:translateX(30px);animation:slideInRight .8s ease-out forwards;animation-delay:.4s}@keyframes slideInRight{to{opacity:1;transform:translateX(0)}}.contact-map iframe{width:100%!important;height:100%!important;min-height:100%;border:none;border-radius:1rem;filter:grayscale(20%);transition:filter .3s ease;display:block}.contact-map:hover iframe{filter:grayscale(0)}@media (max-width:1024px){.contact-map .min-h-96{min-height:300px}.contact-form,.contact-map{animation:fadeInUp .6s ease-out forwards;animation-delay:.3s}}@media (max-width:768px){.contact-block{text-align:left}.contact-block .mx-auto{margin-left:0;margin-right:1rem}.contact-form .rounded-2xl,.contact-map .rounded-2xl{border-radius:1rem}.contact-form .p-8{padding:1.5rem}.contact-block>div{padding:1.5rem}}@media (prefers-reduced-motion:reduce){.contact-block,.contact-form,.contact-map{animation:none;opacity:1;transform:none}.contact-block .w-12.h-12,.contact-block .w-16.h-16,.contact-block>div,.contact-map iframe{transition:none}}.contact-block a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.25rem}@media (prefers-contrast:high){.contact-block>div{border:2px solid #374151}.contact-title{-webkit-text-fill-color:#1f2937;color:#1f2937}.contact-us-section.bg-gray-900 .contact-title{-webkit-text-fill-color:#f3f4f6;color:#f3f4f6}}@media print{.contact-us-section{background:#fff!important;color:#000!important}.contact-map{display:none}.contact-block>div{box-shadow:none!important;border:1px solid #e5e7eb!important;break-inside:avoid}.contact-form .frm_submit{display:none}}.contact-us-section.loading{opacity:.7;pointer-events:none}.contact-us-section.loading::after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.contact-form textarea::-webkit-scrollbar{width:6px}.contact-form textarea::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.contact-form textarea::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.contact-form textarea::-webkit-scrollbar-thumb:hover{background:#94a3b8}.faq-section{position:relative}.faq-title{background:linear-gradient(135deg,#1e40af 0,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.faq-item{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.faq-item:nth-child(1){animation-delay:.1s}.faq-item:nth-child(2){animation-delay:.2s}.faq-item:nth-child(3){animation-delay:.3s}.faq-item:nth-child(4){animation-delay:.4s}.faq-item:nth-child(5){animation-delay:.5s}.faq-item:nth-child(6){animation-delay:.6s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.faq-question{position:relative;transition:all .3s ease}.faq-question:hover{background:linear-gradient(135deg,#f8fafc 0,#f1f5f9 100%)}.faq-question:focus{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.faq-question svg{transition:all .3s cubic-bezier(.4,0,.2,1)}.faq-question[aria-expanded=true] svg{transform:rotate(45deg)}.faq-answer{transition:all .4s cubic-bezier(.4,0,.2,1);max-height:0;overflow:hidden}.faq-answer.open{max-height:500px}.faq-answer .prose{color:#6b7280;line-height:1.7}.faq-answer .prose p{margin-bottom:1rem}.faq-answer .prose p:last-child{margin-bottom:0}.faq-answer .prose strong{color:#374151;font-weight:600}.faq-answer .prose a{color:#3b82f6;text-decoration:none;font-weight:500;transition:color .2s ease}.faq-answer .prose a:hover{color:#1d4ed8;text-decoration:underline}.faq-answer .prose ol,.faq-answer .prose ul{margin:1rem 0;padding-left:1.5rem}.faq-answer .prose li{margin-bottom:.5rem}.faq-item>div{transition:all .3s ease;border:1px solid transparent}.faq-item>div:hover{border-color:#e5e7eb;transform:translateY(-2px)}.faq-question .w-8.h-8{transition:all .3s ease}.faq-question:hover .w-8.h-8{transform:scale(1.1)}@media (min-width:1024px){.faq-section .lg\:grid-cols-2 .faq-item{margin-bottom:2rem}}@media (max-width:768px){.faq-question{padding:1.25rem}.faq-question h3{font-size:1.125rem;line-height:1.5}.faq-answer{font-size:.95rem}.faq-answer .px-6{padding-left:1.25rem;padding-right:1.25rem}}@media (prefers-reduced-motion:reduce){.faq-item{animation:none;opacity:1;transform:none}.faq-answer,.faq-item>div,.faq-question svg{transition:none}}.faq-question:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast:high){.faq-question{border:2px solid #374151}.faq-question:hover{background:#f3f4f6;border-color:#1f2937}.faq-title{-webkit-text-fill-color:#1f2937;color:#1f2937}}@media print{.faq-section{background:#fff!important}.faq-answer{max-height:none!important;overflow:visible!important}.faq-question svg{display:none}.faq-item>div{box-shadow:none!important;border:1px solid #e5e7eb!important;margin-bottom:1rem;break-inside:avoid}}.faq-section.loading .faq-item{opacity:.5;pointer-events:none}.faq-section.error .faq-item{opacity:.3}.faq-section.error::after{content:"Error loading FAQ items";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#dc2626;font-weight:600;background:#fff;padding:1rem 2rem;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.faq-answer::-webkit-scrollbar{width:4px}.faq-answer::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.faq-answer::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.faq-answer::-webkit-scrollbar-thumb:hover{background:#94a3b8}.hero-section{position:relative;overflow:hidden}.hero-with-image{min-height:90vh}.hero-with-image::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1}.hero-with-image .container{position:relative;z-index:2}.hero-title{font-weight:900;letter-spacing:-.04em;text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-subtitle{font-weight:400;line-height:1.7}.hero-buttons a{min-width:180px;justify-content:center;text-decoration:none;font-weight:600}.hero-buttons a:hover{transform:translateY(-2px)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-section .absolute.top-20{animation:float 6s ease-in-out infinite}.hero-section .absolute.bottom-20{animation:float 8s ease-in-out infinite reverse}.backdrop-blur-sm{backdrop-filter:blur(8px)}@media (max-width:1024px){.hero-section .grid{grid-template-columns:1fr;text-align:center}.hero-section .hidden.lg:block{display:none!important}}@media (max-width:768px){.hero-section{padding-top:3rem;padding-bottom:3rem}.hero-title{font-size:2.5rem!important;line-height:.9;letter-spacing:-.02em}.hero-subtitle{font-size:1.125rem!important}.hero-buttons{flex-direction:column}.hero-buttons a{width:100%}.hero-section .min-h-80vh{min-height:70vh}}@media (max-width:640px){.hero-title{font-size:2rem!important}.hero-section .absolute.bottom-20,.hero-section .absolute.top-20{display:none}}.our-clients-section{position:relative}.clients-title{font-weight:800;letter-spacing:-.02em;line-height:1.1}.clients-slider-container{position:relative}.clients-slider{display:flex;width:100%}.client-slide{flex-shrink:0}.client-logo-wrapper{position:relative;overflow:hidden}.client-logo-wrapper::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s;z-index:1}.client-logo-wrapper:hover::before{left:100%}.client-logo-wrapper img{position:relative;z-index:2;max-width:120px;max-height:60px}.slider-dot{cursor:pointer;transition:all .3s ease}.slider-dot:hover{transform:scale(1.2)}.slider-dot.bg-blue-500{background-color:#3b82f6!important}.our-clients-section .grid .client-logo-wrapper img{max-width:100px;max-height:50px}.client-logo-wrapper:hover{transform:translateY(-2px)}@media (max-width:768px){.our-clients-section{padding-top:3rem;padding-bottom:3rem}.clients-title{font-size:2rem!important;line-height:1.2}.client-slide{width:100%!important}.clients-slider{width:100%}.client-logo-wrapper{height:6rem;padding:1.5rem}.client-logo-wrapper img{max-width:100px;max-height:50px}.our-clients-section .grid{grid-template-columns:repeat(2,1fr);gap:1rem}.our-clients-section .grid .client-logo-wrapper{height:5rem;padding:1rem}}@media (max-width:640px){.clients-title{font-size:1.75rem!important}.client-logo-wrapper img{max-width:80px;max-height:40px}.our-clients-section .grid{grid-template-columns:1fr}}@media (min-width:768px){.client-slide{width:33.333333%!important}}@keyframes slideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.client-logo-wrapper{animation:slideIn .6s ease-out}.slider-dot:focus{outline:2px solid #3b82f6;outline-offset:2px}.client-logo-wrapper a:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:1rem}.service-detail-section{position:relative}.service-detail-title{background:linear-gradient(135deg,#1e40af 0,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.service-detail-section.bg-gray-900 .service-detail-title{background:linear-gradient(135deg,#60a5fa 0,#93c5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.service-description{opacity:0;transform:translateX(-30px);animation:slideInLeft .8s ease-out forwards;animation-delay:.2s}.service-image{opacity:0;transform:translateX(30px);animation:slideInRight .8s ease-out forwards;animation-delay:.4s}@keyframes slideInLeft{to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{to{opacity:1;transform:translateX(0)}}.service-description .prose,.service-detail-section .prose{color:inherit}.service-description .prose p{font-size:1.125rem;line-height:1.7;margin-bottom:1.5rem}.service-description .prose p:last-child{margin-bottom:0}.service-description .prose h3,.service-description .prose h4{color:inherit;font-weight:600;margin-top:2rem;margin-bottom:1rem}.service-description .prose ol,.service-description .prose ul{margin:1.5rem 0;padding-left:1.5rem}.service-description .prose li{margin-bottom:.5rem;line-height:1.6}.service-image .relative::after{content:'';position:absolute;inset:0;background:linear-gradient(45deg,rgba(59,130,246,.05),rgba(29,78,216,.05));opacity:0;transition:opacity .3s ease}.service-image:hover .relative::after{opacity:1}.benefit-item{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}.benefit-item:nth-child(1){animation-delay:.1s}.benefit-item:nth-child(2){animation-delay:.2s}.benefit-item:nth-child(3){animation-delay:.3s}.benefit-item:nth-child(4){animation-delay:.4s}.benefit-item:nth-child(5){animation-delay:.5s}.benefit-item:nth-child(6){animation-delay:.6s}.benefit-item:nth-child(7){animation-delay:.7s}.benefit-item:nth-child(8){animation-delay:.8s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.benefit-item .w-2.h-2{background:linear-gradient(135deg,#3b82f6 0,#1d4ed8 100%);box-shadow:0 2px 4px rgba(59,130,246,.3);transition:all .3s ease}.benefit-item:hover .w-2.h-2{transform:scale(1.2);box-shadow:0 4px 8px rgba(59,130,246,.4)}.benefit-item{padding:.5rem;border-radius:.75rem;transition:all .3s ease;margin:-.5rem}.benefit-item:hover{background:rgba(59,130,246,.05);transform:translateX(8px)}.service-detail-section.bg-gray-900 .benefit-item:hover{background:rgba(59,130,246,.1)}.service-detail-section .space-y-6>*+*{margin-top:1.5rem}.service-detail-section .prose.text-center{text-align:center}.service-detail-section .prose.text-center p{font-size:1.125rem;line-height:1.7}@media (max-width:1024px){.service-description,.service-image{animation:fadeInUp .6s ease-out forwards;animation-delay:.2s}}@media (max-width:768px){.service-detail-title{font-size:2rem;line-height:1.2}.service-image .h-96{height:16rem}.benefit-item{margin:-.25rem;padding:.25rem}.benefit-item .space-x-4{gap:.75rem}.service-description .prose p{font-size:1rem}}@media (prefers-reduced-motion:reduce){.benefit-item,.service-description,.service-image{animation:none;opacity:1;transform:none}.benefit-item,.benefit-item .w-2.h-2,.service-image .relative::after{transition:none}}.service-detail-section a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.25rem}@media (prefers-contrast:high){.service-detail-title{-webkit-text-fill-color:#1f2937;color:#1f2937}.service-detail-section.bg-gray-900 .service-detail-title{-webkit-text-fill-color:#f3f4f6;color:#f3f4f6}.benefit-item .w-2.h-2{background:#1f2937}.service-detail-section.bg-gray-900 .benefit-item .w-2.h-2{background:#f3f4f6}}@media print{.service-detail-section{background:#fff!important;color:#000!important}.service-image{break-inside:avoid}.benefit-item{break-inside:avoid;margin-bottom:.5rem}.benefit-item .w-2.h-2{background:#000!important}}.service-detail-section.loading{opacity:.7;pointer-events:none}.service-detail-section.loading::after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.service-description::-webkit-scrollbar,.service-detail-section .prose::-webkit-scrollbar{width:6px}.service-description::-webkit-scrollbar-track,.service-detail-section .prose::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.service-description::-webkit-scrollbar-thumb,.service-detail-section .prose::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.service-description::-webkit-scrollbar-thumb:hover,.service-detail-section .prose::-webkit-scrollbar-thumb:hover{background:#94a3b8}.service-detail-section .space-y-6{opacity:0;transform:translateY(20px);animation:fadeInUp .8s ease-out forwards;animation-delay:.3s}.benefit-item h4{transition:color .3s ease}.benefit-item:hover h4{color:#3b82f6}.service-detail-section.bg-gray-900 .benefit-item:hover h4{color:#60a5fa}.services-section{position:relative}.services-title{font-weight:800;letter-spacing:-.02em;line-height:1.1}.service-card{height:100%}.service-card a{text-decoration:none}.service-card:hover .bg-white{background:linear-gradient(135deg,#fff 0,#f8fafc 100%)}.service-card .bg-gradient-to-br{position:relative;overflow:hidden}.service-card .bg-gradient-to-br::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.service-card:hover .bg-gradient-to-br::before{left:100%}.services-section .lg\\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.services-section .lg\\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.services-section .lg\\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.service-card:hover .group-hover\\:text-blue-600{color:#2563eb!important}.service-card:hover .group-hover\\:text-purple-600{color:#9333ea!important}.service-card:hover .group-hover\\:text-green-600{color:#059669!important}.service-card:hover .group-hover\\:text-orange-600{color:#ea580c!important}.service-card:hover .group-hover\\:text-pink-600{color:#db2777!important}.service-card:hover .group-hover\\:text-indigo-600{color:#4f46e5!important}.service-card:hover .group-hover\\:border-blue-200{border-color:#dbeafe!important}.service-card:hover .group-hover\\:border-purple-200{border-color:#e9d5ff!important}.service-card:hover .group-hover\\:border-green-200{border-color:#bbf7d0!important}.service-card:hover .group-hover\\:border-orange-200{border-color:#fed7aa!important}.service-card:hover .group-hover\\:border-pink-200{border-color:#fce7f3!important}.service-card:hover .group-hover\\:border-indigo-200{border-color:#c7d2fe!important}@media (max-width:1024px){.services-section .lg\\:grid-cols-3,.services-section .lg\\:grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.services-section{padding-top:3rem;padding-bottom:3rem}.services-title{font-size:2rem!important;line-height:1.2}.services-section .md\\:grid-cols-2{grid-template-columns:1fr;gap:1.5rem}.service-card .bg-white{padding:1.5rem}.service-card h3{font-size:1.125rem}}@media (max-width:640px){.services-title{font-size:1.75rem!important}.service-card .w-16{width:3.5rem;height:3.5rem}.service-card .w-8{width:1.75rem;height:1.75rem}}.post-hero-header{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.post-hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.post-hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.post-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.4) 50%,rgba(0,0,0,.6) 100%);z-index:2}.post-hero-header:not(:has(.post-hero-background)){background:linear-gradient(135deg,#1e40af 0,#3b82f6 100%);min-height:40vh}.post-hero-content{position:relative;z-index:3;width:100%;color:#fff;text-align:center;padding:2rem 0}.post-breadcrumbs{margin-bottom:1.5rem}.breadcrumb-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0;font-size:.875rem;opacity:.9}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-link{display:flex;align-items:center;color:#fff;text-decoration:none;transition:opacity .3s ease}.breadcrumb-link:hover{opacity:.8;text-decoration:underline}.breadcrumb-separator{display:flex;align-items:center;opacity:.6}.breadcrumb-current{opacity:.8;font-weight:500}.post-hero-title{font-size:2.5rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem;max-width:4xl;margin-left:auto;margin-right:auto}.post-hero-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.5rem;font-size:.875rem;opacity:.9}.post-meta-item{display:flex;align-items:center;white-space:nowrap}.post-meta-item svg{flex-shrink:0}.post-content-wrapper{padding:4rem 0;background:#fff}.post-content{font-size:1.125rem;line-height:1.8;color:#374151}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:#1f2937;font-weight:700;margin-top:2.5rem;margin-bottom:1rem;line-height:1.3}.post-content h1{font-size:2.25rem}.post-content h2{font-size:1.875rem}.post-content h3{font-size:1.5rem}.post-content h4{font-size:1.25rem}.post-content h5{font-size:1.125rem}.post-content h6{font-size:1rem}.post-content p{margin-bottom:1.5rem}.post-content ol,.post-content ul{margin:1.5rem 0;padding-left:1.5rem}.post-content li{margin-bottom:.5rem}.post-content blockquote{border-left:4px solid #3b82f6;padding-left:1.5rem;margin:2rem 0;font-style:italic;font-size:1.25rem;color:#6b7280}.post-content img{max-width:100%;height:auto;border-radius:.75rem;margin:2rem 0;box-shadow:0 10px 25px -5px rgba(0,0,0,.1)}.post-content a{color:#3b82f6;text-decoration:underline;text-decoration-color:rgba(59,130,246,.3);text-underline-offset:2px;transition:all .3s ease}.post-content a:hover{color:#1d4ed8;text-decoration-color:#1d4ed8}.post-footer{margin-top:4rem;padding-top:3rem;border-top:1px solid #e5e7eb}.post-tags{margin-bottom:3rem}.post-tags-title{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.tag-list{display:flex;flex-wrap:wrap;gap:.75rem}.tag-link{display:inline-block;padding:.5rem 1rem;background:#f3f4f6;color:#6b7280;text-decoration:none;border-radius:9999px;font-size:.875rem;font-weight:500;transition:all .3s ease}.tag-link:hover{background:#3b82f6;color:#fff;transform:translateY(-1px)}.author-bio{display:flex;gap:1.5rem;padding:2rem;background:#f9fafb;border-radius:1rem;margin-bottom:3rem}.author-avatar{flex-shrink:0}.author-avatar img{width:80px;height:80px;border-radius:50%;margin:0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.author-info{flex:1}.author-name{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.author-description{color:#6b7280;line-height:1.6;margin:0}.post-navigation{margin-top:3rem}.nav-links{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.nav-link{display:block;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;text-decoration:none;transition:all .3s ease;color:inherit}.nav-link:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transform:translateY(-2px)}.nav-direction{display:flex;align-items:center;font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.nav-next .nav-direction{justify-content:flex-end}.nav-title{font-weight:600;color:#1f2937;line-height:1.4}.nav-previous .nav-title{text-align:left}.nav-next .nav-title{text-align:right}@media (max-width:1024px){.post-hero-header{min-height:50vh}.post-hero-title{font-size:2rem}.post-hero-meta{gap:1rem}}@media (max-width:768px){.post-hero-header{min-height:40vh}.post-hero-title{font-size:1.75rem}.post-hero-meta{flex-direction:column;gap:.75rem}.breadcrumb-list{justify-content:flex-start;font-size:.8125rem}.post-content-wrapper{padding:2rem 0}.post-content{font-size:1rem}.author-bio{flex-direction:column;text-align:center;gap:1rem}.nav-links{grid-template-columns:1fr}.nav-next .nav-direction,.nav-next .nav-title{text-align:left;justify-content:flex-start}}@media print{.post-hero-header{background:#fff!important;color:#000!important;min-height:auto;padding:2rem 0}.post-hero-background,.post-hero-overlay{display:none}.post-navigation{display:none}.post-content a{color:#000;text-decoration:underline}}@media (prefers-reduced-motion:reduce){.nav-link,.tag-link{transition:none;transform:none}}@media (prefers-contrast:high){.post-hero-overlay{background:rgba(0,0,0,.8)}.breadcrumb-link:hover{background:#fff;color:#000}}
/*
 Tournament Header Section Component Styles */

.tournament-header-section {
    position: relative;
    overflow: hidden;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.tournament-title {
    font-weight: 900;
    letter-spacing: 0.1em;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.tournament-headline {
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    line-height: 1.2;
}

.tournament-logo img {
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.3));
    transition: transform 0.3s ease;
}

.tournament-logo:hover img {
    transform: scale(1.05);
}

.tournament-buttons a {
    min-width: 200px;
    justify-content: center;
    text-decoration: none;
    font-weight: 700;
    backdrop-filter: blur(10px);
}

.tournament-buttons a:hover {
    transform: translateY(-2px);
}

/* Primary button glow effect */
.tournament-buttons a[class*="from-green-500"] {
    position: relative;
    overflow: hidden;
}

.tournament-buttons a[class*="from-green-500"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.tournament-buttons a[class*="from-green-500"]:hover::before {
    left: 100%;
}

/* Secondary button glassmorphism enhancement */
.tournament-buttons a[class*="bg-white/10"] {
    position: relative;
    backdrop-filter: blur(15px);
}

.tournament-buttons a[class*="bg-white/10"]::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 2px;
    background: linear-gradient(135deg, rgba(255,255,255,0.3), rgba(255,255,255,0.1));
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
}

/* Floating animations */
@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-20px);
    }
}

.tournament-header-section .absolute.top-20 {
    animation: float 8s ease-in-out infinite;
}

.tournament-header-section .absolute.bottom-20 {
    animation: float 10s ease-in-out infinite reverse;
}

/* Scroll indicator animation */
.tournament-header-section .animate-bounce {
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 53%, 80%, 100% {
        transform: translate3d(0,0,0);
    }
    40%, 43% {
        transform: translate3d(0,-8px,0);
    }
    70% {
        transform: translate3d(0,-4px,0);
    }
    90% {
        transform: translate3d(0,-2px,0);
    }
}

/* Tournament header specific height controls */
.tournament-header-section {
    min-height: 80vh; /* Default fallback */
}

.tournament-header-section.tournament-small {
    min-height: 60vh;
}

.tournament-header-section.tournament-medium {
    min-height: 80vh;
}

.tournament-header-section.tournament-large {
    min-height: 100vh;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .tournament-header-section {
        min-height: 70vh;
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    
    .tournament-header-section.tournament-small {
        min-height: 50vh;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    
    .tournament-header-section.tournament-large {
        min-height: 80vh;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}

@media (max-width: 768px) {
    .tournament-header-section {
        min-height: 60vh !important;
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .tournament-header-section.tournament-small {
        min-height: 50vh !important;
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .tournament-header-section.tournament-large {
        min-height: 70vh !important;
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    .tournament-title {
        font-size: 2.5rem !important;
        line-height: 1.1;
        letter-spacing: 0.05em;
    }

    .tournament-headline {
        font-size: 1.5rem !important;
        line-height: 1.3;
        margin-bottom: 2rem !important;
    }

    .tournament-logo img {
        height: 4rem !important;
    }

    .tournament-buttons {
        flex-direction: column;
        gap: 1rem;
    }

    .tournament-buttons a {
        width: 100%;
        min-width: auto;
        padding: 1rem 2rem;
        font-size: 1rem;
    }
}

@media (max-width: 640px) {
    .tournament-title {
        font-size: 2rem !important;
        margin-bottom: 1rem !important;
    }

    .tournament-headline {
        font-size: 1.25rem !important;
        margin-bottom: 1.5rem !important;
    }

    .tournament-logo {
        margin-bottom: 1.5rem !important;
    }

    .tournament-logo img {
        height: 3rem !important;
    }

    .tournament-header-section .absolute.top-20,
    .tournament-header-section .absolute.bottom-20 {
        display: none;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .tournament-title {
        -webkit-text-fill-color: #ffffff;
        color: #ffffff;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .tournament-header-section .absolute.top-20,
    .tournament-header-section .absolute.bottom-20,
    .tournament-header-section .animate-bounce {
        animation: none;
    }
    
    .tournament-buttons a,
    .tournament-logo img {
        transition: none;
        transform: none;
    }
    
    .tournament-buttons a:hover {
        transform: none;
    }
}

/* Print styles */
@media print {
    .tournament-header-section {
        background: #ffffff !important;
        color: #000000 !important;
        min-height: auto !important;
        padding: 2rem 0 !important;
    }
    
    .tournament-header-section .absolute {
        display: none !important;
    }
    
    .tournament-title,
    .tournament-headline {
        color: #000000 !important;
        -webkit-text-fill-color: #000000 !important;
        text-shadow: none !important;
    }
    
    .tournament-buttons {
        display: none !important;
    }
}

/* Loading state */
.tournament-header-section.loading {
    opacity: 0.7;
    pointer-events: none;
}

.tournament-header-section.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Focus states for accessibility */
.tournament-buttons a:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

/* Custom scrollbar for any overflow content */
.tournament-header-section::-webkit-scrollbar {
    width: 6px;
}

.tournament-header-section::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
}

.tournament-header-section::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
}

.tournament-header-section::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}
/* T
ournament Welcome Section Component Styles */

.tournament-welcome-section {
    position: relative;
}

.tournament-welcome-title {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.tournament-welcome-description {
    color: #4b5563;
    line-height: 1.7;
}

.tournament-welcome-description p {
    margin-bottom: 1rem;
}

.tournament-welcome-description p:last-child {
    margin-bottom: 0;
}

/* Image styling enhancements */
.tournament-welcome-section .aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
}

.tournament-welcome-section .relative .absolute {
    transition: all 0.3s ease;
}

.tournament-welcome-section .relative:hover .absolute {
    transform: scale(1.1);
    opacity: 0.4;
}

/* Highlight points styling */
.tournament-highlights .w-2.h-2 {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
    transition: all 0.3s ease;
}

.tournament-highlights .flex:hover .w-2.h-2 {
    transform: scale(1.3);
    box-shadow: 0 4px 8px rgba(59, 130, 246, 0.4);
}

.tournament-highlights .flex {
    padding: 0.5rem;
    border-radius: 0.75rem;
    transition: all 0.3s ease;
    margin: -0.5rem;
}

.tournament-highlights .flex:hover {
    background: rgba(59, 130, 246, 0.05);
    transform: translateX(8px);
}

/* CTA button enhancements */
.tournament-welcome-section a[class*="bg-gradient-to-r"] {
    position: relative;
    overflow: hidden;
}

.tournament-welcome-section a[class*="bg-gradient-to-r"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.tournament-welcome-section a[class*="bg-gradient-to-r"]:hover::before {
    left: 100%;
}

/* Image container shadow effects */
.tournament-welcome-section .shadow-2xl {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transition: all 0.3s ease;
}

.tournament-welcome-section .shadow-2xl:hover {
    box-shadow: 0 35px 60px -12px rgba(0, 0, 0, 0.3);
    transform: translateY(-4px);
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .tournament-welcome-section .lg\\:order-1,
    .tournament-welcome-section .lg\\:order-2 {
        order: initial;
    }
    
    .tournament-welcome-section .lg\\:grid-cols-2 {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    .tournament-welcome-section .lg\\:gap-16 {
        gap: 3rem;
    }
}

@media (max-width: 768px) {
    .tournament-welcome-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .tournament-welcome-title {
        font-size: 2rem !important;
        line-height: 1.2;
        margin-bottom: 1.5rem !important;
    }

    .tournament-welcome-description {
        font-size: 1rem;
        margin-bottom: 2rem !important;
    }

    .tournament-highlights {
        margin-bottom: 2rem !important;
    }

    .tournament-highlights .text-lg {
        font-size: 1rem !important;
    }

    .tournament-welcome-section .grid {
        gap: 2rem !important;
    }

    .tournament-welcome-section .p-4 {
        padding: 0.75rem;
    }

    .tournament-welcome-section .rounded-3xl {
        border-radius: 1.5rem;
    }
}

@media (max-width: 640px) {
    .tournament-welcome-title {
        font-size: 1.75rem !important;
        margin-bottom: 1rem !important;
    }

    .tournament-welcome-section .aspect-\[4\/3\] {
        aspect-ratio: 16 / 10;
    }

    .tournament-highlights .space-y-4 {
        gap: 0.75rem;
    }

    .tournament-highlights .flex {
        margin: -0.25rem;
        padding: 0.25rem;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .tournament-welcome-title span {
        -webkit-text-fill-color: #1f2937;
        color: #1f2937;
    }
    
    .tournament-highlights .w-2.h-2 {
        background: #1f2937;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .tournament-welcome-section .relative .absolute,
    .tournament-highlights .w-2.h-2,
    .tournament-highlights .flex,
    .tournament-welcome-section .shadow-2xl {
        transition: none;
        transform: none;
    }
    
    .tournament-welcome-section .relative:hover .absolute,
    .tournament-highlights .flex:hover .w-2.h-2,
    .tournament-highlights .flex:hover,
    .tournament-welcome-section .shadow-2xl:hover {
        transform: none;
    }
}

/* Print styles */
@media print {
    .tournament-welcome-section {
        background: #ffffff !important;
        color: #000000 !important;
        padding: 2rem 0 !important;
    }
    
    .tournament-welcome-section .absolute {
        display: none !important;
    }
    
    .tournament-welcome-title span {
        -webkit-text-fill-color: #000000 !important;
        color: #000000 !important;
    }
    
    .tournament-welcome-section a[class*="bg-gradient-to-r"] {
        display: none !important;
    }
    
    .tournament-welcome-section .shadow-2xl {
        box-shadow: none !important;
        border: 1px solid #e5e7eb !important;
    }
}

/* Loading state */
.tournament-welcome-section.loading {
    opacity: 0.7;
    pointer-events: none;
}

.tournament-welcome-section.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #e5e7eb;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Focus states for accessibility */
.tournament-welcome-section a:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    border-radius: 0.25rem;
}

/* Custom scrollbar for any overflow content */
.tournament-welcome-description::-webkit-scrollbar {
    width: 6px;
}

.tournament-welcome-description::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 3px;
}

.tournament-welcome-description::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

.tournament-welcome-description::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}/* Tourn
ament Info Boxes Section Component Styles */

.tournament-info-boxes-section {
    position: relative;
}

.info-boxes-title {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.info-box {
    height: 100%;
}

.info-box a {
    text-decoration: none;
}

/* Box hover effects */
.info-box .group:hover {
    transform: translateY(-8px) scale(1.02);
}

/* Icon container enhancements */
.info-box .w-16.h-16 {
    transition: all 0.3s ease;
}

.info-box:hover .w-16.h-16 {
    transform: scale(1.1);
}

/* Title and text animations */
.info-box h3 {
    transition: all 0.3s ease;
}

.info-box:hover h3 {
    transform: translateY(-2px);
}

/* Arrow animation for linked boxes */
.info-box .w-8.h-8 {
    transition: all 0.3s ease;
}

.info-box:hover .w-8.h-8 {
    transform: scale(1.1);
}

/* Color-specific shadow effects */
.info-box .bg-yellow-400:hover {
    box-shadow: 0 25px 50px -12px rgba(251, 191, 36, 0.4);
}

.info-box .bg-orange-400:hover {
    box-shadow: 0 25px 50px -12px rgba(251, 146, 60, 0.4);
}

.info-box .bg-purple-500:hover {
    box-shadow: 0 25px 50px -12px rgba(139, 92, 246, 0.4);
}

.info-box .bg-blue-500:hover {
    box-shadow: 0 25px 50px -12px rgba(59, 130, 246, 0.4);
}

.info-box .bg-green-500:hover {
    box-shadow: 0 25px 50px -12px rgba(34, 197, 94, 0.4);
}

.info-box .bg-red-500:hover {
    box-shadow: 0 25px 50px -12px rgba(239, 68, 68, 0.4);
}

.info-box .bg-indigo-500:hover {
    box-shadow: 0 25px 50px -12px rgba(99, 102, 241, 0.4);
}

.info-box .bg-pink-500:hover {
    box-shadow: 0 25px 50px -12px rgba(236, 72, 153, 0.4);
}

/* Grid responsive adjustments */
.tournament-info-boxes-section .md\\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.tournament-info-boxes-section .lg\\:grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.tournament-info-boxes-section .lg\\:grid-cols-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Staggered animation effect */
.info-box:nth-child(1) { animation-delay: 0.1s; }
.info-box:nth-child(2) { animation-delay: 0.2s; }
.info-box:nth-child(3) { animation-delay: 0.3s; }
.info-box:nth-child(4) { animation-delay: 0.4s; }
.info-box:nth-child(5) { animation-delay: 0.5s; }
.info-box:nth-child(6) { animation-delay: 0.6s; }

/* Responsive adjustments */
@media (max-width: 1024px) {
    .tournament-info-boxes-section .lg\\:grid-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .tournament-info-boxes-section .lg\\:grid-cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .tournament-info-boxes-section .lg\\:gap-8 {
        gap: 1.5rem;
    }
}

@media (max-width: 768px) {
    .tournament-info-boxes-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .info-boxes-title {
        font-size: 2rem !important;
        line-height: 1.2;
        margin-bottom: 1rem !important;
    }

    .tournament-info-boxes-section .md\\:grid-cols-2,
    .tournament-info-boxes-section .lg\\:grid-cols-3,
    .tournament-info-boxes-section .lg\\:grid-cols-4 {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .info-box .rounded-2xl {
        padding: 2rem 1.5rem;
    }

    .info-box h3 {
        font-size: 1.5rem !important;
    }

    .info-box h4 {
        font-size: 1rem !important;
    }

    .info-box .w-16.h-16 {
        width: 3.5rem;
        height: 3.5rem;
    }

    .info-box .w-12.h-12 {
        width: 2.5rem;
        height: 2.5rem;
    }
}

@media (max-width: 640px) {
    .info-boxes-title {
        font-size: 1.75rem !important;
        margin-bottom: 0.75rem !important;
    }

    .info-box .rounded-2xl {
        padding: 1.5rem 1rem;
        border-radius: 1rem;
    }

    .info-box h3 {
        font-size: 1.25rem !important;
        margin-bottom: 0.5rem !important;
    }

    .info-box h4 {
        font-size: 0.875rem !important;
        margin-bottom: 1rem !important;
    }

    .info-box p {
        font-size: 0.8125rem !important;
    }

    .info-box .w-16.h-16 {
        width: 3rem;
        height: 3rem;
        margin-bottom: 1rem !important;
    }

    .info-box .w-12.h-12 {
        width: 2rem;
        height: 2rem;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .info-box .bg-yellow-400 {
        background-color: #fbbf24 !important;
        color: #000000 !important;
    }
    
    .info-box .bg-orange-400 {
        background-color: #fb923c !important;
        color: #000000 !important;
    }
    
    .info-box .text-white {
        color: #ffffff !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .info-box .group,
    .info-box .w-16.h-16,
    .info-box h3,
    .info-box .w-8.h-8 {
        transition: none;
        transform: none;
    }
    
    .info-box .group:hover,
    .info-box:hover .w-16.h-16,
    .info-box:hover h3,
    .info-box:hover .w-8.h-8 {
        transform: none;
    }
}

/* Print styles */
@media print {
    .tournament-info-boxes-section {
        background: #ffffff !important;
        color: #000000 !important;
        padding: 2rem 0 !important;
    }
    
    .info-box .rounded-2xl {
        background: #f3f4f6 !important;
        color: #000000 !important;
        box-shadow: none !important;
        border: 1px solid #e5e7eb !important;
        break-inside: avoid;
        margin-bottom: 1rem;
    }
    
    .info-box .text-white {
        color: #000000 !important;
    }
    
    .info-box .w-8.h-8 {
        display: none !important;
    }
}

/* Loading state */
.tournament-info-boxes-section.loading {
    opacity: 0.7;
    pointer-events: none;
}

.tournament-info-boxes-section.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #e5e7eb;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Focus states for accessibility */
.info-box a:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    border-radius: 1rem;
}

/* Hover state improvements */
.info-box .group {
    position: relative;
    overflow: hidden;
}

.info-box .group::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.6s;
    z-index: 1;
}

.info-box .group:hover::before {
    left: 100%;
}

.info-box .group > * {
    position: relative;
    z-index: 2;
}

/* Custom animation for info boxes */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.info-box {
    animation: slideInUp 0.6s ease-out forwards;
    opacity: 0;
}

.info-box:nth-child(1) { animation-delay: 0.1s; }
.info-box:nth-child(2) { animation-delay: 0.2s; }
.info-box:nth-child(3) { animation-delay: 0.3s; }
.info-box:nth-child(4) { animation-delay: 0.4s; }
.info-box:nth-child(5) { animation-delay: 0.5s; }
.info-box:nth-child(6) { animation-delay: 0.6s; }

/* Tournament Pricing Section Component Styles */

.tournament-pricing-section {
    position: relative;
}

.pricing-title {
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

/* Simple questions styling */
.pricing-left .question-item {
    transition: all 0.3s ease;
    padding: 0.5rem 0;
}

.pricing-left .question-item:hover {
    transform: translateX(4px);
}

/* Pricing container styling */
.pricing-container {
    border: 2px solid #e5e7eb;
    transition: all 0.3s ease;
}

.pricing-container:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

/* Pricing boxes */
.pricing-box {
    transition: all 0.3s ease;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pricing-box:first-child {
    border-right: 2px solid #e5e7eb;
}

.pricing-box:hover {
    transform: scale(1.02);
}

/* Responsive adjustments for pricing */
@media (max-width: 1024px) {
    .tournament-pricing-section .lg\\:grid-cols-2 {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
}

@media (max-width: 768px) {
    .tournament-pricing-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .pricing-title {
        font-size: 2rem !important;
        line-height: 1.2;
        margin-bottom: 2rem !important;
    }

    .pricing-container .grid-cols-2 {
        grid-template-columns: 1fr;
    }

    .pricing-box:first-child {
        border-right: none;
        border-bottom: 2px solid #e5e7eb;
    }

    .pricing-box {
        min-height: 200px;
        padding: 1.5rem !important;
    }
}

@media (max-width: 640px) {
    .pricing-title {
        font-size: 1.75rem !important;
        margin-bottom: 1.5rem !important;
    }

    .pricing-box {
        min-height: 180px;
        padding: 1.25rem !important;
    }

    .pricing-box .text-4xl {
        font-size: 2.5rem !important;
    }
}
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.pricing-plan a[class*="bg-"]:hover::before {
    left: 100%;
}

/* Custom WooCommerce Product Page Styling */

/* Product Main Container */
.product-main-container {
    min-height: 50vh;
}

/* Product Images */
.product-images img {
    transition: transform 0.3s ease;
}

.product-images img:hover {
    transform: scale(1.02);
}

/* Quantity Input */
.quantity-section input[type="number"] {
    transition: all 0.3s ease;
}

.quantity-section input[type="number"]:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Add to Cart Button */
.cart button[type="submit"] {
    position: relative;
    overflow: hidden;
}

.cart button[type="submit"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.cart button[type="submit"]:hover::before {
    left: 100%;
}

/* Product Meta */
.product-meta {
    border-top: 1px solid #e5e7eb;
    padding-top: 1.5rem;
}

/* Description Section */
.product-description {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Shop Page - Basic Grid */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce ul.products li.product {
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Basic WooCommerce Button Styling */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button {
    background: #3b82f6;
    color: white;
    border: none;
    border-radius: 0.75rem;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: #1d4ed8;
    color: white;
    transform: translateY(-1px);
}

/* Messages */
.woocommerce .woocommerce-message {
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
    color: #065f46;
    border-left: 4px solid #10b981;
    border-radius: 0.75rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-error {
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
    color: #991b1b;
    border-left: 4px solid #ef4444;
    border-radius: 0.75rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
}/* Wo
oCommerce Shop/Category Page Styling */

/* Shop Header */
.shop-header {
    position: relative;
}

.shop-header h1 {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Products Grid */
.products-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 2rem !important;
    animation: fadeInUp 0.6s ease-out;
}

/* Override any WooCommerce default grid styles */
.woocommerce .products-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 2rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce .products-grid .product-card {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* Hide empty grid items */
.products-grid > *:empty {
    display: none !important;
}

.products-grid > div:not(.product-card) {
    display: none !important;
}

/* Ensure only product cards are visible */
.products-grid > :not(.product-card):not(li) {
    display: none !important;
}

/* Product Cards */
.product-card {
    position: relative;
    transition: all 0.3s ease;
}

.product-card:hover {
    border-color: #e5e7eb;
}

.product-card .product-image {
    position: relative;
    overflow: hidden;
}

.product-card .product-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, rgba(59, 130, 246, 0.05), rgba(29, 78, 216, 0.05));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.product-card:hover .product-image::after {
    opacity: 1;
}

/* Product Title */
.product-title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Product Excerpt */
.product-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Add to Cart Button */
.product-actions button,
.product-actions a {
    position: relative;
    overflow: hidden;
}

.product-actions button::before,
.product-actions a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.product-actions button:hover::before,
.product-actions a:hover::before {
    left: 100%;
}

/* WooCommerce Pagination */
.woocommerce nav.woocommerce-pagination {
    text-align: center;
    margin-top: 3rem;
}

.woocommerce nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
    margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem;
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 0.75rem;
    color: #6b7280;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    border-color: #3b82f6;
    color: white;
    transform: translateY(-2px);
}

/* No Products Found */
.no-products-found {
    animation: fadeInUp 0.6s ease-out;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .shop-header h1 {
        font-size: 2.5rem;
    }
    
    .products-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
    }
    
    .product-card .product-info {
        padding: 1.25rem;
    }
}

@media (max-width: 640px) {
    .shop-header h1 {
        font-size: 2rem;
    }
    
    .products-grid {
        grid-template-columns: 1fr;
    }
    
    .product-card .product-image img {
        height: 12rem;
    }
}

/* Animation Keyframes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}/*
 Registration & Account Pages */
.registration-form input:focus,
.registration-form select:focus,
.registration-form textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.registration-form .border-red-500 {
    border-color: #ef4444;
}

.registration-form .border-red-500:focus {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* Profile Picture Preview */
#profile-preview {
    transition: all 0.3s ease;
}

#profile-preview:hover {
    transform: scale(1.05);
}

/* Account Page Tabs */
.tab-btn {
    transition: all 0.2s ease;
}

.tab-btn.active {
    border-bottom-color: #3b82f6 !important;
    color: #3b82f6 !important;
}

.tab-content {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Loading Animation */
.btn-loading svg {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Form Validation States */
.form-group.error input,
.form-group.error select,
.form-group.error textarea {
    border-color: #ef4444;
    background-color: #fef2f2;
}

.form-group.success input,
.form-group.success select,
.form-group.success textarea {
    border-color: #10b981;
    background-color: #f0fdf4;
}

/* Responsive Design */
@media (max-width: 768px) {
    .registration-form .grid-cols-2 {
        grid-template-columns: 1fr;
    }
    
    .account-header .flex {
        flex-direction: column;
        text-align: center;
    }
    
    .account-header .space-x-6 > * + * {
        margin-left: 0;
        margin-top: 1rem;
    }
}

/* Custom File Input Styling */
input[type="file"] {
    padding: 0.5rem;
}

input[type="file"]::-webkit-file-upload-button {
    background: #3b82f6;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    cursor: pointer;
    margin-right: 1rem;
}

input[type="file"]::-webkit-file-upload-button:hover {
    background: #2563eb;
}

/* Message Styling */
.message-container {
    border-radius: 0.5rem;
    padding: 1rem;
    margin-bottom: 1rem;
}

.message-container.error {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
}

.message-container.success {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
}

/* Account Page Order History */
.order-item {
    transition: all 0.2s ease;
}

.order-item:hover {
    background-color: #f9fafb;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

/* Profile Picture in Account Header */
.profile-picture-large {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.profile-picture-large:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}/* 
Tournament Standings */
.tournament-tab {
    transition: all 0.2s ease;
    white-space: nowrap;
}

.tournament-tab:hover {
    background-color: #f9fafb;
}

.tournament-content {
    animation: fadeIn 0.3s ease-in-out;
}

.player-row {
    transition: all 0.2s ease;
}

.player-row:hover {
    background-color: #f9fafb;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Modal Styling */
#player-modal {
    backdrop-filter: blur(4px);
}

#player-modal .relative {
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Hole Score Cards */
.hole-score-card {
    transition: all 0.2s ease;
}

.hole-score-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Position Badges */
.position-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    font-weight: bold;
    font-size: 0.875rem;
}

.position-1 {
    background-color: #ffd700;
    color: #92400e;
}

.position-2 {
    background-color: #c0c0c0;
    color: #374151;
}

.position-3 {
    background-color: #cd7f32;
    color: #ffffff;
}

/* Responsive Table */
.tournament-table {
    min-width: 800px;
}

@media (max-width: 768px) {
    .tournament-tab {
        font-size: 0.875rem;
        padding: 0.75rem 1rem;
    }
    
    .tournament-table th,
    .tournament-table td {
        padding: 0.5rem 0.75rem;
        font-size: 0.875rem;
    }
    
    .player-row img {
        width: 2rem;
        height: 2rem;
    }
}

/* Score Indicators */
.score-excellent {
    color: #059669;
    font-weight: bold;
}

.score-good {
    color: #0d9488;
}

.score-average {
    color: #d97706;
}

.score-poor {
    color: #dc2626;
}

/* Loading States */
.loading-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Tournament Stats */
.tournament-stats {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.stat-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Leaderboard Animations */
.leaderboard-enter {
    animation: slideInUp 0.5s ease-out;
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tab Navigation Scrolling */
.tournament-tabs {
    scrollbar-width: thin;
    scrollbar-color: #cbd5e0 #f7fafc;
}

.tournament-tabs::-webkit-scrollbar {
    height: 4px;
}

.tournament-tabs::-webkit-scrollbar-track {
    background: #f7fafc;
}

.tournament-tabs::-webkit-scrollbar-thumb {
    background: #cbd5e0;
    border-radius: 2px;
}

.tournament-tabs::-webkit-scrollbar-thumb:hover {
    background: #a0aec0;
}/
* Enter Standings Page */
.hole-card {
    transition: all 0.2s ease;
    cursor: pointer;
}

.hole-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.hole-card.ring-2 {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

.hole-score-input {
    transition: all 0.2s ease;
}

.hole-score-input:focus {
    transform: scale(1.05);
}

.score-summary-item {
    transition: all 0.2s ease;
}

.score-summary-item:hover {
    transform: translateY(-2px);
}

.quick-score-btn {
    transition: all 0.2s ease;
}

.quick-score-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Message animations */
.message-item {
    transition: transform 0.3s ease;
}

/* Loading states for enter standings */
.hole-card.loading {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

/* Score status colors */
.hole-card.border-green-500 {
    border-color: #10b981;
    background-color: #ecfdf5;
}

.hole-card.border-blue-500 {
    border-color: #3b82f6;
    background-color: #eff6ff;
}

.hole-card.border-yellow-500 {
    border-color: #f59e0b;
    background-color: #fffbeb;
}

/* Player info card styling */
#player-info-card {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

#player-info-card img {
    border: 4px solid rgba(255, 255, 255, 0.3);
}

/* Responsive adjustments for enter standings */
@media (max-width: 768px) {
    .hole-card {
        padding: 0.75rem;
    }
    
    .hole-score-input {
        font-size: 1rem;
        padding: 0.5rem;
    }
    
    .quick-score-btn {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
    }
    
    #player-info-card .flex {
        flex-direction: column;
        text-align: center;
        space-y: 1rem;
    }
    
    #player-info-card .space-x-6 > * + * {
        margin-left: 0;
        margin-top: 1rem;
    }
}

/* Auto-save indicator */
.auto-save-on {
    background-color: #10b981 !important;
}

.auto-save-off {
    background-color: #6b7280 !important;
}

/* Keyboard shortcut hints */
.keyboard-hint {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.keyboard-hint.show {
    opacity: 1;
}

/* Score entry grid responsive */
@media (max-width: 640px) {
    #holes-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 641px) and (max-width: 768px) {
    #holes-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    #holes-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

/* Unsaved changes indicator */
.unsaved-changes {
    position: relative;
}

.unsaved-changes::after {
    content: '●';
    color: #f59e0b;
    position: absolute;
    top: -0.25rem;
    right: -0.25rem;
    font-size: 1.5rem;
}

/* Success/error states for inputs */
.hole-score-input.success {
    border-color: #10b981;
    background-color: #ecfdf5;
}

.hole-score-input.error {
    border-color: #ef4444;
    background-color: #fef2f2;
}

.hole-score-input.pending {
    border-color: #f59e0b;
    background-color: #fffbeb;
}
/* Why Enter Section */
.why-enter-section {
    position: relative;
}

.why-enter-section h2 {
    letter-spacing: -0.025em;
}

.why-enter-section .benefits-list ul {
    max-width: 800px;
    margin: 0 auto;
}

.why-enter-section .benefits-list li {
    transition: all 0.2s ease;
    padding: 0.75rem 0;
}

.why-enter-section .benefits-list li:hover {
    transform: translateX(8px);
}

.why-enter-section .benefits-list li .flex-shrink-0 {
    transition: all 0.2s ease;
}

.why-enter-section .benefits-list li:hover .flex-shrink-0 {
    background-color: #3b82f6;
    transform: scale(1.2);
}

.why-enter-section .secondary-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}

.why-enter-section .wysiwyg-content p {
    margin-bottom: 0.5rem;
}

.why-enter-section .wysiwyg-content p:last-child {
    margin-bottom: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .why-enter-section {
        padding: 3rem 0;
    }
    
    .why-enter-section h2 {
        font-size: 2rem;
        line-height: 1.2;
    }
    
    .why-enter-section h3 {
        font-size: 1.25rem;
    }
    
    .why-enter-section .benefits-list li {
        font-size: 1rem;
    }
    
    .why-enter-section .benefits-list li:hover {
        transform: translateX(4px);
    }
}

/* Animation for benefits list */
.why-enter-section .benefits-list li {
    opacity: 0;
    animation: slideInUp 0.6s ease forwards;
}

.why-enter-section .benefits-list li:nth-child(1) { animation-delay: 0.1s; }
.why-enter-section .benefits-list li:nth-child(2) { animation-delay: 0.2s; }
.why-enter-section .benefits-list li:nth-child(3) { animation-delay: 0.3s; }
.why-enter-section .benefits-list li:nth-child(4) { animation-delay: 0.4s; }
.why-enter-section .benefits-list li:nth-child(5) { animation-delay: 0.5s; }
.why-enter-section .benefits-list li:nth-child(6) { animation-delay: 0.6s; }

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Background variations */
.why-enter-section.bg-gradient-to-br {
    background: linear-gradient(135deg, #eff6ff 0%, #e0e7ff 100%);
}

.why-enter-section .secondary-content .border-t {
    border-color: rgba(107, 114, 128, 0.3);
}
/* Why Enter Section Styles */
.why-enter-section {
    position: relative;
}

.why-enter-title {
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.why-enter-section .benefit-item {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease-out forwards;
}

.why-enter-section .benefit-item:nth-child(1) { animation-delay: 0.1s; }
.why-enter-section .benefit-item:nth-child(2) { animation-delay: 0.2s; }
.why-enter-section .benefit-item:nth-child(3) { animation-delay: 0.3s; }
.why-enter-section .benefit-item:nth-child(4) { animation-delay: 0.4s; }
.why-enter-section .benefit-item:nth-child(5) { animation-delay: 0.5s; }
.why-enter-section .benefit-item:nth-child(6) { animation-delay: 0.6s; }
.why-enter-section .benefit-item:nth-child(7) { animation-delay: 0.7s; }
.why-enter-section .benefit-item:nth-child(8) { animation-delay: 0.8s; }

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.why-enter-section .benefits-section {
    opacity: 0;
    transform: translateY(30px);
    animation: slideInUp 0.8s ease-out forwards;
    animation-delay: 0.2s;
}

.why-enter-section .secondary-content {
    opacity: 0;
    transform: translateY(30px);
    animation: slideInUp 0.8s ease-out forwards;
    animation-delay: 0.4s;
}

@keyframes slideInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.why-enter-section .bg-white {
    transition: all 0.3s ease;
}

.why-enter-section .bg-white:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}

.why-enter-section .bg-gradient-to-br {
    position: relative;
    overflow: hidden;
}

.why-enter-section .bg-gradient-to-br::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.why-enter-section .bg-gradient-to-br:hover::before {
    left: 100%;
}

.why-enter-description .prose {
    color: inherit;
}

.why-enter-description .prose p {
    font-size: 1.125rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.why-enter-description .prose p:last-child {
    margin-bottom: 0;
}

.why-enter-description .prose strong {
    color: #1f2937;
    font-weight: 600;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .why-enter-section .benefits-section,
    .why-enter-section .secondary-content {
        animation: fadeInUp 0.6s ease-out forwards;
        animation-delay: 0.2s;
    }
}

@media (max-width: 768px) {
    .why-enter-title {
        font-size: 2.5rem !important;
        line-height: 1.2;
    }
    
    .why-enter-section .bg-white,
    .why-enter-section .bg-gradient-to-br {
        padding: 1.5rem !important;
        border-radius: 1.5rem !important;
    }
    
    .why-enter-section .benefit-item {
        margin-bottom: 1rem;
    }
    
    .why-enter-description .prose p {
        font-size: 1rem;
    }
}

@media (max-width: 640px) {
    .why-enter-title {
        font-size: 2rem !important;
    }
    
    .why-enter-section .bg-white,
    .why-enter-section .bg-gradient-to-br {
        padding: 1.25rem !important;
        border-radius: 1rem !important;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .why-enter-section .benefit-item,
    .why-enter-section .benefits-section,
    .why-enter-section .secondary-content {
        animation: none;
        opacity: 1;
        transform: none;
    }
    
    .why-enter-section .bg-white,
    .why-enter-section .bg-gradient-to-br::before {
        transition: none;
    }
}

/* Focus Accessibility */
.why-enter-section a:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    border-radius: 0.25rem;
}

/* High Contrast Support */
@media (prefers-contrast: high) {
    .why-enter-title {
        -webkit-text-fill-color: #1f2937;
        color: #1f2937;
    }
    
    .why-enter-section .benefit-item .w-3 {
        background: #1f2937 !important;
    }
}

/* Print Styles */
@media print {
    .why-enter-section {
        background: #fff !important;
        color: #000 !important;
    }
    
    .why-enter-section .bg-white,
    .why-enter-section .bg-gradient-to-br {
        box-shadow: none !important;
        border: 1px solid #e5e7eb !important;
        break-inside: avoid;
    }
}

/* Loading State */
.why-enter-section.loading {
    opacity: 0.7;
    pointer-events: none;
}

.why-enter-section.loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #e5e7eb;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
/* Tournament Standings Unified Table Styles */
.tournament-standings-table {
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

/* Position badges styling */
.position-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    font-weight: 900;
    font-size: 0.875rem;
}

.position-badge.position-1 {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
    color: #92400e;
    box-shadow: 0 4px 8px rgba(255, 215, 0, 0.3);
}

.position-badge.position-2 {
    background: linear-gradient(135deg, #c0c0c0 0%, #e5e7eb 100%);
    color: #374151;
    box-shadow: 0 4px 8px rgba(192, 192, 192, 0.3);
}

.position-badge.position-3 {
    background: linear-gradient(135deg, #cd7f32 0%, #d97706 100%);
    color: #ffffff;
    box-shadow: 0 4px 8px rgba(205, 127, 50, 0.3);
}

/* Tournament header styling */
.tournament-headers th {
    position: relative;
    border-bottom: 2px solid #e5e7eb;
}

.tournament-header-content {
    padding: 0.5rem 0;
}

.sub-headers th {
    border-bottom: 1px solid #d1d5db;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Sticky player column */
.player-info-cell {
    position: sticky;
    left: 0;
    z-index: 10;
    background: white;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
}

.player-row:hover .player-info-cell {
    background: #f9fafb;
}

/* Tournament column backgrounds */
.bg-blue-50 {
    background-color: #eff6ff;
}

.bg-green-50 {
    background-color: #f0fdf4;
}

.bg-purple-50 {
    background-color: #faf5ff;
}

.bg-orange-50 {
    background-color: #fff7ed;
}

.bg-pink-50 {
    background-color: #fdf2f8;
}

.bg-indigo-50 {
    background-color: #eef2ff;
}

/* Player row hover effects */
.player-row {
    transition: all 0.2s ease-in-out;
}

.player-row:hover {
    background-color: #f8fafc;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.player-row:hover td {
    background-color: inherit;
}

/* Tournament table responsive behavior */
.tournament-standings-table thead th {
    position: sticky;
    top: 0;
    z-index: 15;
    background: inherit;
}

/* Total points column styling */
.tournament-standings-table tbody td:last-child {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    color: white;
    font-weight: 900;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Modal enhancements for multi-tournament view */
#player-modal .relative {
    max-height: 90vh;
    overflow-y: auto;
}

/* Tournament tabs in modal */
.tournament-tabs {
    display: flex;
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 1.5rem;
    overflow-x: auto;
}

.tournament-tab {
    flex-shrink: 0;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.tournament-tab:hover {
    color: #3b82f6;
    background-color: #f8fafc;
}

.tournament-tab.active {
    color: #3b82f6;
    border-bottom-color: #3b82f6;
    background-color: #eff6ff;
}

.tournament-tab-content {
    display: none;
}

.tournament-tab-content.active {
    display: block;
}

/* Responsive design for unified table */
@media (max-width: 1024px) {
    .tournament-standings-table {
        font-size: 0.875rem;
    }
    
    .tournament-header-content {
        padding: 0.25rem 0;
    }
    
    .tournament-header-content .font-black {
        font-size: 0.875rem;
    }
    
    .position-badge {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 0.75rem;
    }
}

@media (max-width: 768px) {
    .tournament-standings-table {
        font-size: 0.8125rem;
    }
    
    .tournament-standings-table th,
    .tournament-standings-table td {
        padding: 0.5rem 0.25rem;
    }
    
    .player-info-cell {
        padding: 0.75rem 0.5rem;
    }
    
    .tournament-header-content .font-black {
        font-size: 0.75rem;
    }
    
    .tournament-header-content .text-xs {
        font-size: 0.625rem;
    }
    
    .position-badge {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 0.625rem;
    }
    
    /* Stack player info vertically on mobile */
    .player-info-cell .flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    
    .player-info-cell .flex > div:first-child {
        align-self: center;
    }
}

@media (max-width: 640px) {
    .tournament-standings-table th,
    .tournament-standings-table td {
        padding: 0.375rem 0.125rem;
    }
    
    .player-info-cell {
        padding: 0.5rem 0.25rem;
        min-width: 120px;
    }
    
    .tournament-header-content .font-black {
        font-size: 0.625rem;
        line-height: 1.2;
    }
}

/* Scroll indicators */
.scroll-indicator {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(59, 130, 246, 0.9);
    color: white;
    padding: 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    z-index: 20;
    animation: pulse 2s infinite;
}

.scroll-indicator.left {
    left: 1rem;
}

.scroll-indicator.right {
    right: 1rem;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Loading states */
.tournament-standings-loading {
    position: relative;
    opacity: 0.7;
    pointer-events: none;
}

.tournament-standings-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #e5e7eb;
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Accessibility improvements */
.tournament-standings-table th:focus,
.tournament-standings-table td:focus,
.player-row:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .position-badge.position-1 {
        background: #000000;
        color: #ffffff;
    }
    
    .position-badge.position-2 {
        background: #666666;
        color: #ffffff;
    }
    
    .position-badge.position-3 {
        background: #333333;
        color: #ffffff;
    }
    
    .tournament-standings-table tbody td:last-child {
        background: #000000;
        color: #ffffff;
    }
}

/* Print styles */
@media print {
    .tournament-standings-table {
        font-size: 0.75rem;
        break-inside: avoid;
    }
    
    .player-row {
        break-inside: avoid;
    }
    
    .position-badge {
        background: #000000 !important;
        color: #ffffff !important;
    }
    
    .tournament-standings-table tbody td:last-child {
        background: #000000 !important;
        color: #ffffff !important;
    }
    
    #player-modal {
        display: none !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .player-row,
    .tournament-tab,
    .position-badge {
        transition: none;
    }
    
    .player-row:hover {
        transform: none;
    }
    
    .scroll-indicator {
        animation: none;
    }
    
    .tournament-standings-loading::after {
        animation: none;
    }
}

/* Sponsorship Callout Section */
.sponsorship-callout {
    position: relative;
    background-color: #f8f9fa;
    border-top: 3px solid #e5e7eb;
    border-bottom: 3px solid #e5e7eb;
}

.sponsorship-content {
    text-align: center;
    max-width: 100%;
}

/* Title Styling */
.sponsorship-title {
    font-size: 2.5rem;
    font-weight: 900;
    color: #1f2937;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem;
    line-height: 1.1;
}

/* Subtitle Styling */
.sponsorship-subtitle {
    font-size: 1.875rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 2rem;
    line-height: 1.2;
}

/* Description Text */
.sponsorship-description {
    font-size: 1.125rem;
    color: #6b7280;
    margin-bottom: 1rem;
    line-height: 1.6;
}

.sponsorship-description p {
    margin-bottom: 0.5rem;
}

/* Highlight Text */
.sponsorship-highlight {
    font-size: 1.125rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 1rem;
    line-height: 1.6;
}

.sponsorship-highlight p {
    margin-bottom: 0.5rem;
}

/* Additional Info */
.sponsorship-additional {
    font-size: 1.125rem;
    color: #6b7280;
    margin-bottom: 2.5rem;
    line-height: 1.6;
}

.sponsorship-additional p {
    margin-bottom: 0.5rem;
}

/* CTA Section */
.sponsorship-cta {
    margin-top: 2rem;
}

/* Button Styling */
.sponsorship-button {
    display: inline-flex;
    align-items: center;
    padding: 0.75rem 1.5rem;
    background-color: #f97316;
    color: #ffffff;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    border-radius: 0.375rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.sponsorship-button:hover {
    background-color: #ea580c;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(0, 0, 0, 0.1);
    color: #ffffff;
    text-decoration: none;
}

.sponsorship-button-icon {
    margin-right: 0.5rem;
    font-size: 1rem;
}

.sponsorship-button-arrow {
    margin-left: 0.5rem;
    font-size: 1.25rem;
    font-weight: bold;
}

/* Responsive Design */
@media (max-width: 768px) {
    .sponsorship-title {
        font-size: 1.875rem;
        letter-spacing: 0.05em;
    }
    
    .sponsorship-subtitle {
        font-size: 1.5rem;
    }
    
    .sponsorship-description,
    .sponsorship-highlight,
    .sponsorship-additional {
        font-size: 1rem;
    }
    
    .sponsorship-button {
        padding: 0.875rem 1.75rem;
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .sponsorship-title {
        font-size: 1.5rem;
    }
    
    .sponsorship-subtitle {
        font-size: 1.25rem;
    }
    
    .sponsorship-button {
        width: 100%;
        justify-content: center;
        padding: 1rem;
    }
}
/* Tournament Standings Preview */
.standings-preview {
    position: relative;
}

.standings-preview-table {
    min-width: 800px;
}

.standings-preview .player-info-cell {
    background: white;
}

.standings-preview .player-info-cell:hover {
    background: #f9fafb;
}

/* Position badges for preview */
.standings-preview .position-badge.position-1 {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #92400e;
}

.standings-preview .position-badge.position-2 {
    background: linear-gradient(135deg, #c0c0c0, #e5e7eb);
    color: #374151;
}

.standings-preview .position-badge.position-3 {
    background: linear-gradient(135deg, #cd7f32, #f59e0b);
    color: #ffffff;
}

/* Responsive adjustments for preview */
@media (max-width: 768px) {
    .standings-preview-table {
        min-width: 600px;
    }
    
    .standings-preview .tournament-header-content {
        font-size: 0.75rem;
    }
    
    .standings-preview .tournament-header-content .font-black {
        font-size: 0.875rem;
    }
}

/* Hover effects for preview rows */
.standings-preview tbody tr:hover {
    background-color: #f8fafc;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.standings-preview tbody tr {
    transition: all 0.2s ease-in-out;
}

/* Preview specific styling */
.standings-preview .bg-white {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.standings-preview .rounded-lg {
    border-radius: 0.75rem;
}
/* Full Tournament Standings Page - Compact Styling */
.tournament-standings-table {
    min-width: 800px;
}

/* Enhanced shadow and styling for full standings */
.tournament-standings-table tbody tr:hover {
    background-color: #f8fafc;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.tournament-standings-table tbody tr {
    transition: all 0.2s ease-in-out;
}

/* Position badges styling for full standings */
.tournament-standings-table .position-badge.position-1 {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #92400e;
}

.tournament-standings-table .position-badge.position-2 {
    background: linear-gradient(135deg, #c0c0c0, #e5e7eb);
    color: #374151;
}

.tournament-standings-table .position-badge.position-3 {
    background: linear-gradient(135deg, #cd7f32, #f59e0b);
    color: #ffffff;
}

/* Compact container styling */
.tournament-standings-table .player-info-cell {
    background: white;
}

.tournament-standings-table .player-info-cell:hover {
    background: #f9fafb;
}

/* Enhanced modal styling */
#player-modal .relative {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Responsive adjustments for full standings */
@media (max-width: 768px) {
    .tournament-standings-table {
        min-width: 600px;
    }
    
    .tournament-standings-table .tournament-header-content {
        font-size: 0.75rem;
    }
    
    .tournament-standings-table .tournament-header-content .font-black {
        font-size: 0.875rem;
    }
}