*{box-sizing:border-box}body{margin:0;background:#f2f3f5;color:#202124;font-family:Arial,Helvetica,sans-serif}.football-article{max-width:900px;margin:0 auto;background:#fff;min-height:100vh;padding:28px 24px 60px;line-height:1.75}.back{display:inline-block;color:#c91520;text-decoration:none;font-weight:700;margin-bottom:18px}.article-category{display:inline-block;background:#c91520;color:#fff;padding:5px 12px;border-radius:5px;font-size:12px;font-weight:700}.football-article h1{font-size:40px;line-height:1.2;margin:12px 0}.article-meta{color:#777;font-size:14px}.hero{height:360px;border-radius:14px;margin:24px 0;background:linear-gradient(135deg,#8b0010,#151515 55%,#c7c7c7);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-text{text-align:center;color:#fff;text-shadow:0 2px 8px #000}.hero-text span{display:block;font-size:13px;letter-spacing:2px;margin-bottom:12px}.hero-text strong{font-size:42px;line-height:1.15}.match-card{background:linear-gradient(135deg,#111,#292929);color:#fff;border-radius:14px;padding:25px;margin:30px 0}.match-title{text-align:center;color:#bbb;font-size:12px;letter-spacing:1px;margin-bottom:22px}.teams{display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:center}.team{flex:1}.team-logo{width:68px;height:68px;border-radius:50%;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-weight:800}.team small{display:block;color:#aaa;margin-top:4px}.match-time{display:flex;flex-direction:column;gap:3px}.match-time small,.match-time span{color:#aaa;font-size:12px}.match-time b{font-size:30px}h2{font-size:27px;line-height:1.3;margin-top:38px;border-left:5px solid #c91520;padding-left:12px}table{width:100%;border-collapse:collapse;margin:18px 0}td{padding:12px;border-bottom:1px solid #ddd}td:first-child{font-weight:700;width:35%}.highlight{background:#f5f5f5;border-left:5px solid #c91520;padding:16px 20px;margin:24px 0}.highlight p{margin:5px 0 0}.lineup{background:#171717;color:#fff;padding:18px 20px;border-radius:10px}.lineup h3{margin:0 0 8px}.lineup p{margin:0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}.tags span{background:#eee;border-radius:20px;padding:5px 11px;font-size:12px}@media(max-width:600px){.football-article{padding:20px 16px}.football-article h1{font-size:28px}.hero{height:260px}.hero-text strong{font-size:30px}.teams{flex-direction:column}.match-time{order:-1}.match-card{padding:20px}h2{font-size:23px}}

/* HUBUNGI KAMI 24 JAM */
.contact-widget{
  position:fixed;
  right:18px;
  bottom:18px;
  width:320px;
  display:block;
  z-index:50;
  line-height:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 35px rgba(0,0,0,.55),0 0 25px rgba(172,52,255,.28);
  transition:transform .2s ease,filter .2s ease;
}
.contact-widget img{
  display:block;
  width:100%;
  height:auto;
}
.contact-widget:hover{
  transform:translateY(-4px) scale(1.015);
  filter:brightness(1.06);
}
@media(max-width:600px){
  .contact-widget{
    right:10px;
    bottom:10px;
    width:245px;
    border-radius:14px;
  }
}

/* MOBILE / SAFARI COMPATIBILITY PATCH */
html{
  width:100%;
  min-height:100%;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  min-width:0;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
*,*::before,*::after{box-sizing:border-box}
img,video,svg{max-width:100%;height:auto}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.promo-header,.main-nav,.ticker,.main-grid,footer{
  max-width:1280px;
  width:100%;
}
@media (max-width: 768px){
  .promo-header{
    height:auto;
    min-height:78px;
    padding:10px 12px;
  }
  .promo-brand{min-width:0}
  .trust-items{gap:8px;flex-wrap:wrap}
  .main-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .main-grid>*{
    min-width:0;
  }
  .main-nav{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .main-nav::-webkit-scrollbar{display:none}
  .contact-widget{
    right:max(10px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom));
    max-width:calc(100vw - 20px);
  }
}
@media (max-width: 480px){
  .promo-header{padding:8px 10px}
  .promo-brand strong{font-size:22px}
  .promo-brand small{letter-spacing:1.5px;font-size:7px}
  .trust-items{display:none}
  .contact-widget{
    width:min(245px,calc(100vw - 20px));
  }
}
