:root{--bg:#0b0d13;--bg-card:#13151f;--bg-card-hover:#1a1c2a;--bg-surface:rgba(255,255,255,0.025);--text:#eeeae3;--text-muted:#72728a;--text-dim:#3a3a50;--primary:#d4522a;--primary-hover:#e8633b;--secondary:#8b5cf6;--accent:#2ea36b;--border:rgba(255,255,255,0.06);--border-hover:rgba(255,255,255,0.13);--shadow:0 8px 28px rgba(0,0,0,0.55);--shadow-lg:0 20px 50px rgba(0,0,0,0.65);--radius:10px;--radius-lg:16px;--hero-gradient-start:#f0ece5;--hero-gradient-end:#707090;--title-gradient-start:#f0ece5;--title-gradient-end:#888899;--table-header-bg:rgba(0,0,0,0.2);--tr-hover-bg:rgba(255,255,255,0.015);--navbar-bg:rgba(11,13,19,0.95);--badge-distance-bg:rgba(56,189,248,0.12);--badge-distance-color:#38bdf8;--badge-rating-bg:rgba(250,204,21,0.12);--badge-rating-color:#facc15;--badge-type-bg:rgba(167,139,250,0.12);--badge-type-color:#a78bfa;--status-live-color:#f87171;--status-live-shadow:rgba(239,68,68,0.7);--status-live-dot-shadow:rgba(248,113,113,0.6);--atp-badge-bg:rgba(0,55,140,0.92);--wta-badge-bg:rgba(110,0,130,0.92);--upcoming-badge-bg:rgba(59,130,246,0.88);--btn-secondary-bg:rgba(255,255,255,0.05);--btn-secondary-border:rgba(255,255,255,0.1);--btn-secondary-hover-bg:rgba(255,255,255,0.1);--category-pill-bg:rgba(255,255,255,0.06);--hotel-card-bg:rgba(255,255,255,0.04);--tournament-box-bg:rgba(255,255,255,0.025);--description-bg:rgba(255,255,255,0.02);--img-shadow:0 12px 32px rgba(0,0,0,0.35);--card-hover-border:rgba(212,82,42,0.3);--hotel-card-hover-border:rgba(212,82,42,0.35);--search-focus-shadow:rgba(212,82,42,0.15)}@media(prefers-color-scheme:light){:root{--bg:#f5f5f7;--bg-card:#ffffff;--bg-card-hover:#f0f0f3;--bg-surface:rgba(0,0,0,0.02);--text:#1a1a2e;--text-muted:#6b6b80;--text-dim:#9999aa;--primary:#c44a24;--primary-hover:#d4522a;--secondary:#7c3aed;--accent:#258a58;--border:rgba(0,0,0,0.08);--border-hover:rgba(0,0,0,0.15);--shadow:0 8px 28px rgba(0,0,0,0.08);--shadow-lg:0 20px 50px rgba(0,0,0,0.12);--hero-gradient-start:#1a1a2e;--hero-gradient-end:#6b6b80;--title-gradient-start:#1a1a2e;--title-gradient-end:#6b6b80;--table-header-bg:rgba(0,0,0,0.04);--tr-hover-bg:rgba(0,0,0,0.02);--navbar-bg:rgba(245,245,247,0.95);--badge-distance-bg:rgba(56,189,248,0.15);--badge-distance-color:#0284c7;--badge-rating-bg:rgba(234,179,8,0.15);--badge-rating-color:#b45309;--badge-type-bg:rgba(139,92,246,0.12);--badge-type-color:#6d28d9;--status-live-color:#dc2626;--status-live-shadow:rgba(220,38,38,0.7);--status-live-dot-shadow:rgba(220,38,38,0.6);--atp-badge-bg:rgba(0,55,140,0.88);--wta-badge-bg:rgba(110,0,130,0.88);--upcoming-badge-bg:rgba(59,130,246,0.85);--btn-secondary-bg:rgba(0,0,0,0.04);--btn-secondary-border:rgba(0,0,0,0.1);--btn-secondary-hover-bg:rgba(0,0,0,0.08);--category-pill-bg:rgba(0,0,0,0.04);--hotel-card-bg:rgba(255,255,255,0.8);--tournament-box-bg:rgba(0,0,0,0.02);--description-bg:rgba(0,0,0,0.02);--img-shadow:0 12px 32px rgba(0,0,0,0.12);--card-hover-border:rgba(196,74,36,0.3);--hotel-card-hover-border:rgba(196,74,36,0.35);--search-focus-shadow:rgba(196,74,36,0.15)}}*,*::before,*::after{box-sizing:border-box}body{font-family:barlow,sans-serif;background:var(--bg);color:var(--text);margin:0;padding:0;line-height:1.6;display:flex;flex-direction:column;min-height:100vh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}header.navbar{background:var(--navbar-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:.75rem 1rem;position:sticky;top:0;z-index:1000}header.navbar .logo a{font-family:barlow condensed,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}header.navbar .logo a::before{content:'🎾';font-size:.9rem}@media(min-width:600px){header.navbar{padding:.85rem 1.5rem}header.navbar .logo a{font-size:1.2rem}}@media(min-width:768px){header.navbar{padding:1rem 2rem}header.navbar .logo a{font-size:1.35rem}}main.container{flex:1;padding:1rem .875rem;max-width:1300px;margin:0 auto;width:100%}@media(min-width:600px){main.container{padding:1.5rem}}@media(min-width:1024px){main.container{padding:2.5rem 3rem}}h1,h2,h3{font-family:barlow condensed,sans-serif;font-weight:700;margin-top:0;text-transform:uppercase;letter-spacing:.02em}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}.hero{text-align:center;padding:1.5rem 0 1.75rem}.hero__title{font-family:barlow condensed,sans-serif;font-weight:800;font-size:1.75rem;line-height:1.1;text-transform:uppercase;letter-spacing:.02em;margin:0 0 .6rem;background:linear-gradient(150deg,var(--hero-gradient-start) 30%,var(--hero-gradient-end) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__accent{width:2.5rem;height:3px;background:var(--primary);border-radius:2px;margin:0 auto .75rem}.hero__sub{font-family:barlow,sans-serif;font-size:.85rem;color:var(--text-muted);max-width:320px;margin:0 auto;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.6}@media(min-width:600px){.hero{padding:2.5rem 0 3rem}.hero__title{font-size:2.5rem}.hero__sub{font-size:.95rem;max-width:440px}}@media(min-width:1024px){.hero__title{font-size:3.5rem}.hero__sub{font-size:1rem;max-width:480px}}.search-container{margin-bottom:1.25rem}.filter-row{display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem}.filter-row--main{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:3px;-ms-overflow-style:none}.filter-row--main::-webkit-scrollbar{display:none}.filter-row--date{flex-wrap:wrap;gap:.4rem}@media(min-width:600px){.filter-row--main{overflow-x:visible;flex-wrap:wrap;justify-content:center;gap:.5rem}.filter-row--date{justify-content:center}}.filter-btn{font-family:barlow condensed,sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);padding:.5rem .85rem;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;min-height:40px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1;-webkit-tap-highlight-color:transparent}.filter-btn:hover{color:var(--text);border-color:var(--border-hover);background:var(--bg-card-hover)}.filter-btn:active{transform:scale(.97)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}#searchInput{flex:auto;min-width:120px;max-width:200px;padding:.5rem .75rem;font-size:.875rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;font-family:barlow,sans-serif;min-height:40px}#searchInput::placeholder{color:var(--text-dim)}#searchInput:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--search-focus-shadow)}@media(min-width:600px){#searchInput{max-width:240px}}.date-picker-wrap{display:flex;align-items:center;gap:.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.4rem .65rem;min-height:40px}.date-label{font-size:.65rem;color:var(--text-muted);font-family:barlow condensed,sans-serif;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}#dateFrom{background:0 0;border:none;color:var(--text);font-size:.8rem;cursor:pointer;outline:none;font-family:barlow,sans-serif;min-height:28px}#resultCount{text-align:center;font-size:.7rem;color:var(--text-muted);margin:0 0 1.25rem;font-family:barlow condensed,sans-serif;letter-spacing:.08em;text-transform:uppercase}.tournament-grid{display:grid;grid-template-columns:1fr;gap:.875rem}@media(min-width:480px){.tournament-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(min-width:860px){.tournament-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media(min-width:1180px){.tournament-grid{grid-template-columns:repeat(4,1fr)}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;flex-direction:column}.card:active{transform:scale(.99)}@media(hover:hover){.card:hover{transform:translateY(-4px);border-color:var(--card-hover-border);box-shadow:var(--shadow)}.card:hover .card-img{transform:scale(1.05)}}.card-img-wrap{position:relative;overflow:hidden}.card-img{width:100%;height:140px;object-fit:cover;display:block;transition:transform .4s ease}@media(min-width:600px){.card-img{height:170px}}.card-content{padding:.875rem;flex:1;display:flex;flex-direction:column;gap:.25rem}.card-title{font-family:barlow condensed,sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin:0;color:var(--text);line-height:1.2}@media(min-width:600px){.card-title{font-size:1.1rem}}.card-meta{font-size:.75rem;color:var(--text-muted);margin:0;font-weight:500}.btn{display:inline-block;background:var(--primary);color:#fff;padding:.6rem 1rem;border-radius:6px;text-align:center;font-family:barlow condensed,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,transform .15s;border:none;cursor:pointer;margin-top:auto;min-height:42px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--primary-hover);color:#fff}.btn:active{transform:scale(.98)}.status-badge{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;border-radius:5px;font-family:barlow condensed,sans-serif;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(4px);box-shadow:0 2px 8px rgba(0,0,0,.35)}.status-live{background:0 0;color:var(--status-live-color);box-shadow:none;backdrop-filter:none;display:inline-flex;align-items:center;gap:5px}.status-live::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--status-live-color);animation:pulse 1.5s infinite;flex-shrink:0}.status-upcoming{background:var(--upcoming-badge-bg);color:#fff}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--status-live-shadow)}70%{box-shadow:0 0 0 8px rgba(239,68,68,0)}100%{box-shadow:0 0 rgba(239,68,68,0)}}.tour-badge{position:absolute;bottom:.5rem;left:.5rem;padding:.2rem .5rem;border-radius:4px;font-family:barlow condensed,sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tour-badge--atp{background:var(--atp-badge-bg);color:#fff}.tour-badge--wta{background:var(--wta-badge-bg);color:#fff}.table-container{overflow-x:auto;margin:1.25rem 0;border-radius:var(--radius);border:1px solid var(--border);-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;background:var(--bg-card);min-width:440px}th,td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--border);font-size:.85rem}th{background:var(--table-header-bg);color:var(--text-muted);font-family:barlow condensed,sans-serif;font-weight:700;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}tr:last-child td{border-bottom:none}tr:hover{background:var(--tr-hover-bg)}#map{height:220px;width:100%;border-radius:var(--radius-lg);margin:1.25rem 0;border:1px solid var(--border);z-index:10}@media(min-width:600px){#map{height:350px}}@media(min-width:768px){#map{height:420px}}footer{margin-top:auto}footer>div{text-align:center;padding:1.25rem 1rem;color:var(--text-muted);font-size:.8rem;border-top:1px solid var(--border)}.tournament-details-box{background:var(--tournament-box-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;margin:1.25rem 0}@media(min-width:600px){.tournament-details-box{padding:1.25rem;margin:1.5rem 0}}@media(min-width:768px){.tournament-details-box{padding:1.5rem;margin:2rem 0}}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:.75rem}@media(min-width:480px){.details-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.25rem}}.details-item{display:flex;flex-direction:column;gap:.15rem}.details-label{font-family:barlow condensed,sans-serif;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.details-value{font-family:barlow condensed,sans-serif;font-size:.95rem;font-weight:700;text-transform:uppercase;color:var(--text)}@media(min-width:600px){.details-value{font-size:1.05rem}}.status-upcoming{color:var(--primary)}.status-live{color:var(--status-live-color);display:inline-flex;align-items:center;gap:6px}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--status-live-color);animation:live-pulse 1.5s infinite;flex-shrink:0}@keyframes live-pulse{0%{box-shadow:0 0 0 0 var(--status-live-dot-shadow)}70%{box-shadow:0 0 0 8px rgba(248,113,113,0)}100%{box-shadow:0 0 rgba(248,113,113,0)}}.tournament-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}@media(min-width:600px){.tournament-header{flex-direction:row;gap:1.75rem;margin-bottom:2rem}}@media(min-width:768px){.tournament-header{gap:2.5rem;margin-bottom:3rem}}.tournament-header__image-wrapper{position:relative;width:100%}@media(min-width:600px){.tournament-header__image-wrapper{flex:0 0 340px;max-width:340px}}@media(min-width:768px){.tournament-header__image-wrapper{flex:0 0 420px;max-width:420px}}.tournament-header__image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--img-shadow);display:block}@media(min-width:600px){.tournament-header__image{aspect-ratio:16/9}}.tournament-type-badge{position:absolute;top:8px;left:8px;padding:.2rem .5rem;border-radius:5px;font-family:barlow condensed,sans-serif;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(8px);box-shadow:0 4px 12px var(--img-shadow)}.tournament-type-badge--atp{background:var(--atp-badge-bg);color:#fff}.tournament-type-badge--wta{background:var(--wta-badge-bg);color:#fff}.tournament-header__content{flex:1;min-width:0;display:flex;flex-direction:column}.tournament-header__title{font-family:barlow condensed,sans-serif;font-size:1.6rem;line-height:1.1;margin-bottom:.6rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase;background:linear-gradient(135deg,var(--title-gradient-start) 0%,var(--title-gradient-end) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width:600px){.tournament-header__title{font-size:2.2rem;margin-bottom:.75rem}}@media(min-width:1024px){.tournament-header__title{font-size:2.75rem}}.tournament-header__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;font-size:.85rem;font-weight:600;color:var(--primary)}@media(min-width:600px){.tournament-header__meta{margin-bottom:1.25rem;font-size:.95rem}}.meta-item{display:inline-flex;align-items:center;gap:.35rem}.meta-icon{flex-shrink:0;opacity:.85}.tournament-description{background:var(--description-bg);border-left:3px solid var(--primary);padding:.875rem 1rem;border-radius:0 10px 10px 0;margin-bottom:1.25rem}@media(min-width:600px){.tournament-description{padding:1rem 1.25rem;margin-bottom:1.5rem}}.tournament-description p{color:var(--text-muted);line-height:1.65;margin:0;font-size:.875rem}@media(min-width:600px){.tournament-description p{font-size:.95rem}}.section-title-small{font-family:barlow condensed,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:.75rem;font-weight:800}.section-title{font-family:barlow condensed,sans-serif;font-size:1.25rem;font-weight:800;text-transform:uppercase;margin-bottom:1rem}@media(min-width:600px){.section-title{font-size:1.4rem;margin-bottom:1.25rem}}.section-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;border:none;border-top:1px solid var(--border)}.section-divider__label{display:none;font-family:barlow condensed,sans-serif;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-weight:800;white-space:nowrap}@media(min-width:600px){.section-divider{margin:1.5rem 0}.section-divider__label{display:block}}.tournament-actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn--secondary{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--text)}.btn--secondary:hover{background:var(--btn-secondary-hover-bg);border-color:var(--primary)}.btn--secondary:hover{background:var(--btn-secondary-hover-bg);border-color:var(--primary)}.hotels-grid{display:grid;grid-template-columns:1fr;gap:.875rem;margin-top:1rem}@media(min-width:560px){.hotels-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(min-width:900px){.hotels-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}}.hotel-card{background:var(--hotel-card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s,transform .2s}@media(hover:hover){.hotel-card:hover{border-color:var(--hotel-card-hover-border);transform:translateY(-2px)}}}.hotel-card:active{transform:scale(.99)}.hotel-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.hotel-card__name{font-family:barlow condensed,sans-serif;font-weight:700;font-size:.9rem;line-height:1.25;text-transform:uppercase;letter-spacing:.02em}@media(min-width:600px){.hotel-card__name{font-size:1rem}}.hotel-card__stars{font-size:.65rem;white-space:nowrap;color:var(--text-muted)}.hotel-card__meta{display:flex;flex-wrap:wrap;gap:.3rem}.badge{font-size:.65rem;padding:.15rem .45rem;border-radius:4px;font-weight:600;white-space:nowrap;font-family:barlow condensed,sans-serif;letter-spacing:.04em;text-transform:uppercase}.badge--distance{background:var(--badge-distance-bg);color:var(--badge-distance-color)}.badge--rating{background:var(--badge-rating-bg);color:var(--badge-rating-color)}.badge--type{background:var(--badge-type-bg);color:var(--badge-type-color)}.hotel-card__overview{font-size:.78rem;color:var(--text-muted);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hotel-card__times{display:flex;gap:.6rem;font-size:.72rem;color:var(--text-muted);flex-wrap:wrap}.hotel-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.4rem;border-top:1px solid var(--border)}.hotel-card__price{font-family:barlow condensed,sans-serif;font-size:.85rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.04em}@media(min-width:600px){.hotel-card__price{font-size:.9rem}}.category-nav{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.category-pill{border-radius:20px;min-height:42px;padding:0 14px;font-family:barlow condensed,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;display:inline-flex;align-items:center;background:var(--category-pill-bg);border:1px solid var(--border);color:var(--text);transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.category-pill:active{transform:scale(.97)}.category-pill.active,.category-pill:hover{background:var(--primary);color:#fff}