/* DG KOF XV HUB 1.20.0 — Responsive Core
 * Every Elementor widget/component responds to its own inline-size.
 * This layer is intentionally loaded after the legacy responsive layer. */

.dgkof-responsive-root,
.dgkof-elementor-module-widget,
.dgkof-elementor-tournament-widget,
.dgkof-elementor-registration-widget {
  width:100%!important;max-width:100%!important;min-width:0!important;
  box-sizing:border-box!important;container-type:inline-size;container-name:dgkof-widget;
  overflow-wrap:anywhere;
}
.dgkof-responsive-root *,
.dgkof-elementor-module-widget *,
.dgkof-elementor-tournament-widget *,
.dgkof-elementor-registration-widget *{box-sizing:border-box;min-width:0;}
.dgkof-responsive-root>*,.dgkof-elementor-module-widget>*,.dgkof-elementor-tournament-widget>*,.dgkof-elementor-registration-widget>*{max-width:100%;min-width:0;}

/* Shortcode shells fill their Elementor widget instead of reintroducing a viewport-sized shell. */
.dgkof-responsive-root .dgkof-hub,
.dgkof-responsive-root .dgkof-directory,
.dgkof-responsive-root .dgkof-directory-v2,
.dgkof-responsive-root .dgkof-profile,
.dgkof-responsive-root .dgkof-account-box,
.dgkof-responsive-root .dgkof-tournament,
.dgkof-responsive-root .dgkof-tournament-register,
.dgkof-responsive-root .dgkof-player-area,
.dgkof-elementor-tournament-widget .dgkof-tournament,
.dgkof-elementor-registration-widget .dgkof-tournament-registration-page{
 width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;
}

/* Container-driven grids. */
.dgkof-responsive-root .dgkof-player-grid,
.dgkof-responsive-root .dgkof-character-showcase,
.dgkof-responsive-root .dgkof-character-image-grid,
.dgkof-responsive-root .dgkof-category-grid,
.dgkof-responsive-root .dgkof-stats-grid,
.dgkof-responsive-root .dgkof-top5-grid,
.dgkof-responsive-root .dgkof-registrants-grid,
.dgkof-responsive-root .dgkof-hub-columns,
.dgkof-responsive-root .dgkof-bracket-grid,
.dgkof-responsive-root .dgkof-form-grid,
.dgkof-responsive-root .dgkof-readonly-stats,
.dgkof-responsive-root .dgkof-profile-rates,
.dgkof-responsive-root .dgkof-stats{
 width:100%!important;min-width:0!important;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--dgkof-grid-min,220px)),1fr))!important;
}
.dgkof-responsive-root .dgkof-player-grid,
.dgkof-responsive-root .dgkof-directory-v2 .dgkof-player-grid,
.dgkof-responsive-root .dgkof-directory-same-card .dgkof-player-grid{
 grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;
 gap:clamp(12px,2cqw,22px)!important;
}
.dgkof-responsive-root .dgkof-character-showcase,
.dgkof-responsive-root .dgkof-character-image-grid{--dgkof-grid-min:180px;gap:clamp(10px,2cqw,18px)!important;}
.dgkof-responsive-root .dgkof-category-grid,
.dgkof-responsive-root .dgkof-stats-grid,
.dgkof-responsive-root .dgkof-top5-grid,
.dgkof-responsive-root .dgkof-registrants-grid,
.dgkof-responsive-root .dgkof-hub-columns,
.dgkof-responsive-root .dgkof-bracket-grid{--dgkof-grid-min:220px;gap:clamp(10px,2cqw,20px)!important;}
.dgkof-responsive-root .dgkof-form-grid{--dgkof-grid-min:260px;gap:clamp(10px,2cqw,18px)!important;}
.dgkof-responsive-root .dgkof-readonly-stats,
.dgkof-responsive-root .dgkof-profile-rates,
.dgkof-responsive-root .dgkof-stats{--dgkof-grid-min:145px;gap:clamp(8px,1.5cqw,12px)!important;}
.dgkof-responsive-root .dgkof-player-grid,.dgkof-responsive-root .dgkof-directory-same-card .dgkof-player-grid{--dgkof-grid-desktop:auto;--dgkof-grid-tablet:auto;--dgkof-grid-mobile:auto;}

/* Generic flex groups wrap according to component width. */
.dgkof-responsive-root .dgkof-section-head,
.dgkof-responsive-root .dgkof-account-head,
.dgkof-responsive-root .dgkof-ft-head,
.dgkof-responsive-root .dgkof-ft-notifications-head,
.dgkof-responsive-root .dgkof-registration-section-head,
.dgkof-responsive-root .dgkof-profile-footer{
 min-width:0;max-width:100%;flex-wrap:wrap;gap:clamp(8px,2cqw,18px);
}
.dgkof-responsive-root .dgkof-section-head>*,.dgkof-responsive-root .dgkof-account-head>*,
.dgkof-responsive-root .dgkof-ft-head>*,.dgkof-responsive-root .dgkof-ft-notifications-head>*,
.dgkof-responsive-root .dgkof-registration-section-head>*,.dgkof-responsive-root .dgkof-profile-footer>*{min-width:0;max-width:100%;}
.dgkof-responsive-root img,.dgkof-responsive-root svg,.dgkof-responsive-root video,.dgkof-responsive-root iframe{max-width:100%;}
.dgkof-responsive-root input,.dgkof-responsive-root select,.dgkof-responsive-root textarea,.dgkof-responsive-root button{max-width:100%;min-width:0;}

/* Directory v2 / same-card: remove viewport-driven fixed card geometry. */
.dgkof-responsive-root .dgkof-player-card-v2{width:100%!important;max-width:100%!important;min-width:0!important;min-height:clamp(430px,145cqw,540px)!important;container-type:inline-size;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-player-v2-content{padding:clamp(16px,6cqw,30px) clamp(14px,5cqw,28px) clamp(14px,4cqw,26px)!important;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-player-v2-heading h3{font-size:clamp(26px,11cqw,52px)!important;overflow-wrap:anywhere;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-player-v2-bottom{width:100%;min-width:0;gap:clamp(8px,3cqw,26px)!important;flex-wrap:wrap;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-character-showcase-compact{width:min(100%,252px);max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(4px,1.5cqw,9px)!important;flex:1 1 180px!important;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-character-card-compact{width:100%;height:auto!important;aspect-ratio:76/118;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-character-art-compact{height:auto!important;aspect-ratio:76/88;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-player-v2-meta{min-width:0!important;flex:1 1 130px!important;}
.dgkof-responsive-root .dgkof-player-card-v2 .dgkof-player-location{white-space:normal!important;overflow-wrap:anywhere;}

/* Rankings / H2H / lists. */
.dgkof-responsive-root .dgkof-h2h-head{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;}
.dgkof-responsive-root .dgkof-h2h-player,.dgkof-responsive-root .dgkof-ranking-player,
.dgkof-responsive-root .dgkof-list-row,.dgkof-responsive-root .dgkof-rating-board li,
.dgkof-responsive-root .dgkof-registrant-card,.dgkof-responsive-root .dgkof-match-card{min-width:0!important;max-width:100%!important;}
.dgkof-responsive-root .dgkof-ranking li,.dgkof-responsive-root .dgkof-rating-board li{grid-template-columns:minmax(28px,44px) minmax(0,1fr) auto auto!important;}
.dgkof-responsive-root .dgkof-ranking-player-copy,.dgkof-responsive-root .dgkof-ranking-player-copy *{min-width:0!important;max-width:100%;}
.dgkof-responsive-root .dgkof-ranking-player-copy strong,.dgkof-responsive-root .dgkof-rating-board li strong,.dgkof-responsive-root .dgkof-list-player-name{overflow-wrap:anywhere;word-break:break-word;}

/* Filters, actions and tabs. */
.dgkof-responsive-root .dgkof-directory-filter-grid{width:100%!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))!important;}
.dgkof-responsive-root .dgkof-directory-filter-actions,.dgkof-responsive-root .dgkof-registration-actions,
.dgkof-responsive-root .dgkof-ft-row-actions,.dgkof-responsive-root .dgkof-ft-tabs,
.dgkof-responsive-root .dgkof-chips,.dgkof-responsive-root .dgkof-login-links{max-width:100%;flex-wrap:wrap!important;}
.dgkof-responsive-root .dgkof-directory-filter-actions button,.dgkof-responsive-root .dgkof-registration-actions>* ,
.dgkof-responsive-root .dgkof-ft-row-actions>*,.dgkof-responsive-root .dgkof-ft-tabs>*,.dgkof-responsive-root .dgkof-login-links>*{min-width:0;max-width:100%;}

/* Narrow states are container states, never viewport states. */
@container dgkof-widget (max-width:620px){
 .dgkof-responsive-root .dgkof-profile-hero,.dgkof-responsive-root .dgkof-registration-welcome{grid-template-columns:1fr!important;}
 .dgkof-responsive-root .dgkof-registration-badge,.dgkof-responsive-root .dgkof-hero-mark{display:none!important;}
 .dgkof-responsive-root .dgkof-profile-photo{height:min(58cqw,280px)!important;}
}
@container dgkof-widget (max-width:460px){
 .dgkof-responsive-root .dgkof-h2h-head{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(5px,2cqw,12px)!important;}
 .dgkof-responsive-root .dgkof-profile-main h1,.dgkof-responsive-root .dgkof-profile-main h2{font-size:clamp(28px,9cqw,42px)!important;}
 .dgkof-responsive-root .dgkof-hero{padding:clamp(18px,5cqw,30px)!important;}
 .dgkof-responsive-root .dgkof-ft-box,.dgkof-responsive-root .dgkof-ft-notifications,.dgkof-responsive-root .dgkof-login-box{padding:clamp(12px,4cqw,24px)!important;}
}
@container dgkof-widget (max-width:420px){
 .dgkof-responsive-root .dgkof-ranking li,.dgkof-responsive-root .dgkof-rating-board li{grid-template-columns:34px minmax(0,1fr)!important;}
}
@container dgkof-widget (max-width:360px){
}

/* Tables/brackets scroll inside their own component. */
.dgkof-responsive-root .dgkof-table-wrap,.dgkof-responsive-root .dgkof-admin-ft-table-wrap,
.dgkof-responsive-root .dgkof-bracket-scroll,.dgkof-responsive-root .dgkof-admin-bracket-scroll,
.dgkof-responsive-root .dgkof-bracket-horizontal{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:visible;-webkit-overflow-scrolling:touch;}
.dgkof-responsive-root .dgkof-bracket-horizontal .dgkof-bracket-rounds{min-width:max-content!important;}

/* DG Score badge never forces its parent wider. */
.dgkof-responsive-root .dgkof-dg-score-badge,.dgkof-responsive-root .dgkof-player-score-highlight .dgkof-dg-score-badge,
.dgkof-responsive-root .dgkof-player-page-score .dgkof-dg-score-badge{width:min(132px,100%)!important;min-width:0!important;max-width:100%!important;}
.dgkof-responsive-root .dgkof-dg-score-badge-copy strong,.dgkof-responsive-root .dgkof-dg-score-badge-copy em{max-width:100%;overflow-wrap:anywhere;}

/* Accessibility: motion preference does not affect layout. */
@media(prefers-reduced-motion:reduce){.dgkof-responsive-root *,.dgkof-responsive-root *::before,.dgkof-responsive-root *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
