.vtg-crossword{max-width:1200px;margin:24px auto;padding:24px;border:1px solid #ddd;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.08)}
.vtg-puzzle-header{display:flex;gap:24px;align-items:center;justify-content:space-between}.vtg-topic-image{max-width:360px;width:40%;height:auto;border-radius:12px}
.vtg-game-layout{display:grid;grid-template-columns:minmax(320px,2fr) minmax(260px,1fr);gap:28px;align-items:start}.vtg-grid-wrap{overflow:auto;padding:8px}.vtg-grid{display:grid;grid-template-columns:repeat(var(--cols),38px);grid-auto-rows:38px;gap:2px;width:max-content;background:#222;padding:2px}
.vtg-cell,.vtg-block{position:relative;width:38px;height:38px}.vtg-block{background:#222}.vtg-cell{background:#fff}.vtg-cell input{box-sizing:border-box;width:100%;height:100%;border:0;text-align:center;font-size:23px;font-weight:800;text-transform:uppercase;padding:0}.vtg-cell input:focus{outline:3px solid #2271b1;z-index:2}.vtg-number{position:absolute;z-index:3;top:1px;left:2px;font-size:9px;font-weight:700;pointer-events:none}.vtg-cell input.is-correct{background:#d8f5dc}.vtg-cell input.is-wrong{background:#ffd7d7}.vtg-cell input.is-empty{background:#fff6cc}
.vtg-clues{font-size:17px}.vtg-clues li{margin-bottom:12px}.vtg-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.vtg-actions button,.vtg-puzzle-list .button{border:0;border-radius:8px;padding:13px 18px;font-size:16px;font-weight:700;cursor:pointer;background:#2271b1;color:#fff}.vtg-clear{background:#666!important}.vtg-help{font-size:14px;color:#555}.vtg-grade-card{margin-top:22px;text-align:center;padding:25px;border:3px solid #2271b1;border-radius:14px;background:#f5faff}.vtg-grade{font-size:72px;font-weight:900;line-height:1}.vtg-score{font-size:26px;font-weight:800}.vtg-error{color:#b32d2e;font-weight:700}.vtg-puzzle-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.vtg-puzzle-list article{padding:18px;border:1px solid #ddd;border-radius:12px}.vtg-puzzle-list img{max-width:100%;height:auto}.vtg-score-table{width:100%;border-collapse:collapse}.vtg-score-table th,.vtg-score-table td{padding:10px;border:1px solid #ddd;text-align:left}.vtg-login-required{max-width:500px;padding:24px;border:1px solid #ddd;border-radius:12px}
@media(max-width:800px){.vtg-puzzle-header{display:block}.vtg-topic-image{width:100%;max-width:none}.vtg-game-layout{grid-template-columns:1fr}.vtg-grid{grid-template-columns:repeat(var(--cols),32px);grid-auto-rows:32px}.vtg-cell,.vtg-block{width:32px;height:32px}.vtg-cell input{font-size:19px}.vtg-crossword{padding:14px}}

/* Version 1.3: Elementor/full-width and responsive theme integration */
body.single-vtg_crossword.vtg-crossword-full-width .site-content,
body.single-vtg_crossword.vtg-crossword-full-width .content-area,
body.single-vtg_crossword.vtg-crossword-full-width main,
body.single-vtg_crossword.vtg-crossword-full-width article.vtg_crossword,
body.single-vtg_crossword.vtg-crossword-full-width .entry-content,
body.single-vtg_crossword.vtg-crossword-full-width .elementor-location-single,
body.single-vtg_crossword.vtg-crossword-full-width .elementor-section-wrap {
    width: 100% !important;
    max-width: none !important;
}
body.single-vtg_crossword.vtg-crossword-full-width .widget-area,
body.single-vtg_crossword.vtg-crossword-full-width aside.sidebar,
body.single-vtg_crossword.vtg-crossword-full-width #secondary {
    display: none !important;
}
body.single-vtg_crossword.vtg-crossword-full-width .vtg-crossword {
    width: min(100%, 1600px);
    max-width: 1600px;
    margin-inline: auto;
    box-sizing: border-box;
}
body.single-vtg_crossword.vtg-crossword-hide-theme-title .entry-header,
body.single-vtg_crossword.vtg-crossword-hide-theme-title .page-header,
body.single-vtg_crossword.vtg-crossword-hide-theme-title .page-title,
body.single-vtg_crossword.vtg-crossword-hide-theme-title .entry-title:not(.vtg-puzzle-header *) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 767px) {
    body.single-vtg_crossword.vtg-crossword-full-width .vtg-crossword { width: 100%; padding-inline: 12px; }
}
