/* =====================================================================
   Pandot | site no telemovel e no tablet (ate 1023 px)

   O computador (1024 px ou mais) fica exatamente como o template
   tibiacom: tudo o que esta aqui so vale dentro do @media, e os blocos
   novos (.pandot-movel) estao escondidos por omissao.

   No telemovel, a ideia do RubinOT:
     - barra fixa no topo: menu, logo e conta;
     - faixa com jogadores online, download e idioma;
     - o menu da esquerda passa a gaveta que desliza da esquerda;
     - o conteudo ocupa a largura toda;
     - as caixas da direita saem (o online vai para a faixa de cima);
     - redes sociais no fim da gaveta do menu.
   ===================================================================== */

.pandot-movel { display: none; }

@media (max-width: 1023px) {
	html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
	body { padding-top: 58px; overflow-x: hidden; }
	body.pandot-menu-aberto { overflow: hidden; }

	/* ---------- barra de topo ---------- */
	#PandotTopo {
		display: flex; align-items: center; justify-content: space-between;
		position: fixed; top: 0; left: 0; right: 0; height: 58px; z-index: 1002;
		box-sizing: border-box; padding: 0 10px;
		background: linear-gradient(#1a4363, #0f2b42);
		border-bottom: 2px solid #b8925a;
		box-shadow: 0 4px 16px rgba(0, 0, 0, .5);
		font-family: Verdana, Arial, sans-serif;
	}
	#PandotMenuBotao, .pandot-topo-conta {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
		width: 42px; height: 42px; padding: 0; box-sizing: border-box; cursor: pointer;
		border-radius: 6px; border: 1px solid #c9a46a;
		background: linear-gradient(#8b6b3d, #5a4022);
		box-shadow: inset 0 1px 0 rgba(255, 236, 196, .35), 0 2px 6px rgba(0, 0, 0, .45);
		color: #f6ead0;
		-webkit-tap-highlight-color: transparent;
	}
	#PandotMenuBotao span {
		display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor;
		transition: transform .2s ease, opacity .2s ease;
	}
	body.pandot-menu-aberto #PandotMenuBotao span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	body.pandot-menu-aberto #PandotMenuBotao span:nth-child(2) { opacity: 0; }
	body.pandot-menu-aberto #PandotMenuBotao span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	.pandot-topo-conta svg { width: 22px; height: 22px; }
	#PandotMenuBotao:focus-visible, .pandot-topo-conta:focus-visible { outline: 2px solid #f0d79e; outline-offset: 2px; }

	.pandot-topo-logo {
		position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
		display: block; line-height: 0;
	}
	.pandot-topo-logo img { height: 40px; width: auto; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .6)); }

	.pandot-topo-direita { display: flex; align-items: center; gap: 6px; }

	/* ---------- faixa: online, download e idioma ---------- */
	#PandotFaixa {
		display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
		position: relative; z-index: 3; box-sizing: border-box;
		margin: 10px 8px 4px; min-height: 40px; padding: 6px 200px 6px 14px;
		background: linear-gradient(#173c59, #0f2a40);
		border: 1px solid #b8925a; border-radius: 6px;
		box-shadow: inset 0 1px 0 rgba(240, 215, 158, .25), 0 3px 10px rgba(0, 0, 0, .4);
		font: 700 12px/1.2 Verdana, Arial, sans-serif; text-align: left;
	}
	#PandotFaixa a { display: inline-flex; align-items: center; gap: 6px; color: #f3e9d2; text-decoration: none; }
	#PandotFaixa a:hover { color: #fff; }
	#PandotFaixa b { color: #7ee08a; font-size: 13px; }
	#PandotFaixa svg { width: 16px; height: 16px; }
	.pandot-ponto { width: 8px; height: 8px; border-radius: 50%; background: #4cd964; box-shadow: 0 0 6px #4cd964; }
	.pandot-ponto-off { background: #e0584a; box-shadow: 0 0 6px #e0584a; }

	/* o seletor de idioma do plugin pandot-i18n fica na ponta direita da faixa */
	body #pandot-lang-switcher {
		position: absolute; top: 73px; right: 15px; bottom: auto; left: auto; z-index: 5;
		box-shadow: none; background: rgba(6, 18, 28, .55);
	}

	/* ---------- o layout tibiacom em coluna ---------- */
	#ArtworkHelper, #Bodycontainer { min-width: 0 !important; }
	#ArtworkHelper {
		background-image: linear-gradient(to bottom, rgba(12, 35, 47, .1), rgba(12, 35, 47, .3) 360px, #102533 640px), url('images/tema/fundo-forja-imperial.webp?v=1') !important;
		background-size: 100% 700px, 1100px auto !important;
		background-position: top center, top center !important;
		background-repeat: no-repeat !important;
	}
	#Bodycontainer { display: block !important; width: 100% !important; }
	#ContentRow { top: 0 !important; }
	#LeftArtwork, #ThemeboxesColumn { display: none !important; }
	#ContentColumn { margin: 0 6px !important; }
	.Content .Box { margin: 10px 2px 16px !important; }
	.Content .BoxContent {
		min-height: 0 !important; padding: 10px 8px !important;
		font-size: 13px !important; line-height: 1.5;
		overflow-x: auto; -webkit-overflow-scrolling: touch;
	}
	.Content .BoxContent img { max-width: 100%; height: auto; }

	/* No computador o #Bodycontainer e uma tabela e as alturas em % destas
	   caixas ficam automaticas; em coluna, no modo quirks, iam buscar a
	   altura do ecra. Ficam automaticas como no computador. */
	.TableContainer .CaptionContainer, .TableContainer .CaptionContainer .CaptionInnerContainer,
	.TableContentContainer, .SmallBox .ErrorMessage, .SmallBox .Message, .SmallBox .MessageContainer { height: auto !important; }

	/* Formularios (criar conta, entrar, procurar personagem, filtros...):
	   rotulo por cima do campo e campo com a largura toda. So mudam as
	   tabelas mais por dentro que tem campos de texto ou listas; as tabelas
	   de dados (ranking, online...) ficam iguais. */
	.Content .BoxContent table:not(:has(table)):has(td input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=image]):not([type=button]), td select, td textarea),
	.Content .BoxContent table:not(:has(table)):has(td input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=image]):not([type=button]), td select, td textarea) > tbody,
	.Content .BoxContent table:not(:has(table)):has(td input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=image]):not([type=button]), td select, td textarea) > tbody > tr {
		display: block; width: 100% !important; box-sizing: border-box;
	}
	.Content .BoxContent table:not(:has(table)):has(td input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=image]):not([type=button]), td select, td textarea) > tbody > tr > td {
		display: block; width: auto !important; padding-top: 3px; padding-bottom: 3px; text-align: left;
	}
	.Content .BoxContent td > input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=image]):not([type=button]),
	.Content .BoxContent td > select, .Content .BoxContent td > textarea { width: 100% !important; min-height: 40px; padding: 6px 8px; border-radius: 4px; }
	.Content .Title { max-width: calc(100% - 10px); height: auto; }
	.Content input:not([type=image]):not([type=checkbox]):not([type=radio]), .Content select, .Content textarea { font-size: 16px; max-width: 100%; box-sizing: border-box; }
	/* Ranking: a lista de habilidades e vocacoes da direita repete as listas
	   de cima; no telemovel fica so o ranking. */
	.pandot-pagina-highscores .Content .BoxContent > table > tbody > tr > td:not(:nth-child(2)) { display: none; }

	#Footer { box-sizing: border-box; padding: 16px 12px 70px; font-size: 11px; line-height: 1.5; }

	/* cabecalho das noticias: data numa linha, titulo por baixo (sem sair da caixa) */
	.Content .NewsHeadlineBackground {
		height: auto !important; min-height: 28px; box-sizing: border-box;
		padding: 6px 10px 7px 46px !important;
	}
	.Content .NewsHeadlineDate, .Content .NewsHeadlineText, .Content .NewsHeadlineAuthor {
		position: static !important; left: auto !important; top: auto !important; width: auto !important;
		display: block; white-space: normal;
	}
	.Content .NewsHeadlineDate { font-size: 11px !important; opacity: .85; }
	.Content .NewsHeadlineText { font-size: 14px !important; line-height: 1.3; }

	/* ---------- gaveta do menu (o menu da esquerda) ---------- */
	#MenuColumn {
		position: fixed !important; top: 58px; left: 0; bottom: 0; z-index: 1001;
		width: 232px !important; margin: 0 !important; box-sizing: border-box;
		padding: 16px 26px 40px 26px;
		overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
		background: linear-gradient(180deg, #0d1f2e, #091620);
		border-right: 1px solid rgba(207, 172, 104, .5);
		box-shadow: 10px 0 30px rgba(0, 0, 0, .6);
		transform: translateX(-104%); visibility: hidden;
		transition: transform .25s ease, visibility 0s linear .25s;
	}
	body.pandot-menu-aberto #MenuColumn { transform: none; visibility: visible; transition: transform .25s ease, visibility 0s; }
	#MenuColumn #Loginbox { top: 22px; }

	.pandot-gaveta-download {
		display: flex; align-items: center; justify-content: center; gap: 8px;
		margin: 0 0 6px; height: 38px; border-radius: 6px;
		background: linear-gradient(#2f8a3e, #1d6129); border: 1px solid #5bc06a;
		color: #fff !important; text-decoration: none; font: 700 13px/1 Verdana, Arial, sans-serif;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 2px 8px rgba(0, 0, 0, .4);
	}
	.pandot-gaveta-download svg { width: 17px; height: 17px; }

	#PandotMenuFundo {
		display: block; position: fixed; top: 58px; left: 0; right: 0; bottom: 0; z-index: 1000;
		background: rgba(3, 9, 14, .62); opacity: 0; pointer-events: none; transition: opacity .25s ease;
	}
	body.pandot-menu-aberto #PandotMenuFundo { opacity: 1; pointer-events: auto; }

	/* ---------- redes sociais no fim da gaveta ---------- */
	.pandot-redes {
		display: block; margin: 6px 0 0; padding: 14px 0 0;
		border-top: 1px solid rgba(207, 172, 104, .28); text-align: center;
	}
	.pandot-redes-titulo {
		display: block; margin: 0 0 10px;
		font: 700 11px/1.3 'Cinzel', Georgia, serif; letter-spacing: .08em; text-transform: uppercase; color: #e9dfc8;
	}
	.pandot-redes-lista { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
	.pandot-rede {
		display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; box-sizing: border-box;
		border: 1px solid rgba(201, 164, 106, .75); border-radius: 50%;
		background: linear-gradient(#173c59, #0f2a40); color: #f0e6d2 !important;
		box-shadow: inset 0 1px 0 rgba(240, 215, 158, .2), 0 2px 6px rgba(0, 0, 0, .4);
		transition: color .15s ease, border-color .15s ease, transform .15s ease;
		-webkit-tap-highlight-color: transparent;
	}
	.pandot-rede svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
	.pandot-rede:hover, .pandot-rede:active { color: #6fe3f0 !important; border-color: #6fe3f0; transform: translateY(-1px); }
	.pandot-rede:focus-visible { outline: 2px solid #f0d79e; outline-offset: 2px; }

	/* faixa de manutencao (so a equipa a ve) sem tapar o fim da pagina */
	#pandot-manutencao-faixa { left: 8px !important; bottom: 8px !important; font-size: 11px !important; }
}

@media (max-width: 640px) {
	#PandotFaixa { padding-right: 118px; gap: 10px; }
	body #pandot-lang-switcher { top: 72px; right: 14px; }
}

@media (max-width: 380px) {
	.pandot-topo-logo img { height: 36px; }
	#PandotFaixa { font-size: 11px; }
}

@media (max-width: 1023px) and (prefers-reduced-motion: reduce) {
	#MenuColumn, #PandotMenuFundo, #PandotMenuBotao span { transition: none !important; }
}
